MP Needs Fixing! (Ideas)

JIb228

Multiplayer Guru
So this is some thing that Has bugged me for some time now. But multiplayer(MP) has gone wonky in SP1 HF3. Now I dont mean to say that the servers are screwed up, I mean to say some thing in the game code just isn't working right.

Pre SP1 HF3 on TRS12 build 49922 mp worked 90% of the time. We could run trains with the few minor locked turnouts. Pings where in the 100ms to 300 ms but things where fine. Rarely would you see any thing strange happen.

Now with SP1 HF3 build 58414 we have some cool new features. CMTMS works 90% of the time in MP. But MP its self seams to have taken a big hit, working maybe 60% of the time the way it should be.

Now what going on to reduce the user experience to only 60%? Well, ghost trains. These are those pesky trains that come flying down the tracks at around 600mph to 2000mph. They never derail, clicking on them some times fix's them and shows you where they are at. But lots of times they hit your train and send you flying down the track, some times even off the end of the track as you helplessly hit the breaks.

What causes ghost trains? I dont know, but I have a theory. I think, and this is just my best guessing, that it has to do with the way the MP session loads. For the rest of this paragraph, I'm just using my best educated guess as to how Trainz works. When the player first joins a session Trainz loads it as if they where loading the session in a single player mode, with all the rolling stock at the location that it was placed in when the session was crated. Then during the "Loading Network Data" Trainz moves all the cars from their start location to its current location based on the Host PC. Now rather then 0-5-0 the cars there, picking the car up off the track and placing it back down where its supposed to be at, the game runs the car there. Moving the car at hundreds of miles an hour to its location. And this is where I think things get messed up. Some times Trainz might not know where a car needs to go, so the cars keep screaming down the track until a player clicks on them and it remembers where they need to be, or they hit a player and cause a derailment. Now things that might cause Trainz to forget where a car is supposed to be at could be any thing form a lost data packet. Or cars that have derailed and Trainz doesn't know what to do with car that is, on the host end, gone from the world but on the player end still there.



Now if all that speculation is true, then there are a few things that could be done to help hopefully fix this.

First off, a button could be made that could instantly kill your velocity. A sort of supper emergency stop. This could be used in those instances where a ghost train hits your train and sends you flying down the track.

Second, the way MP data is handled and car location handling could be tweaked. Now, once again I dont know how the system works under the hood, but a table could be made some place that would store data for all cars on the route. This table would be updated every few seconds. The table would include: car location, car speed, car load, and any other data that might be needed. The host would have the master table, and new players would update their table to the host when joining. Each time the table updated on the host end, it would check to make sure all the player tables matched. If a player table was miss matched and out of date, then it would be updated. When ever a car was removed form the rail road ether by portal, derail or deleting, it would remain on the table but marked as "Delete." When a new player's game would go to update the table if it saw a car marked as "Delete" then it would remove the car from the joining players game. When a player joined a session all cars on their end would be temporally deleted, then replaced at the location marked in the car location table that they got from the host.

With this idea in place, I think the number of ghost trains, and other strange things that have started to happen might go down.
 
I think N3V should have a MP server file you could download, run, and set-up your own server, sort of like how Minecraft does it.
 
What causes ghost trains? My experience has been when you operate mulit-player beyond its design parameters, which it will allow you to do, ghost trains appear.
 
What causes ghost trains? My experience has been when you operate mulit-player beyond its design parameters, which it will allow you to do, ghost trains appear.

Well as I said above. I think that when a player joins a session if there are any cars that have been deleted by the session host, such as a derailment, the new player's game is not fully updated. As the game tries to place all the cars that it has in the session at their location, if can find where the cars that derailed are supposed to go. So it just runs them indefinitely to their last destination.

Example: A session with only 5 cars is started. The host sees all the cars at Location A. Player 2 joins the session and sees all the car at Location 1. Player 2 moves the cars to Location 2 but derails car #5. The host deletes car #5. Player 3 joins. At first his game says the cars are at Location 1. Network data starts loading and move the cars one by one to Location 2. When the system get to car #5 it cant find where car #5 is or where its supposed to be. Rather then deleting this car, the game keeps trying to move this car to its unknown location. This results in Player 3 seeing a ghost train.

As it stand Denban, I using multiplayer is beyond its design parameters.



I think N3V should have a MP server file you could download, run, and set-up your own server, sort of like how Minecraft does it.


This wouldn't solve the issues I have stated in the OP. But is still a valid idea, though a bit off topic.
 
What the MP session should do is load also the derailment status of each car. If a car is derailed during network data loading, it should be removed from the map.
 
Does setting the simulation to no derail help this problem? Also how about one of Magg's derail cleanup portals picking up the ghosts for the late-comers?
 
Last edited:
Does setting the simulation to no derail help this problem? Also how about one of Magg's derail cleanup portals picking up the ghosts for the late-comers?

Nope. You can still derail with no derail set if you go off the end of the tracks or through a turnout that is set against you. And the re-rail portals, or portals in general, dont help ether.
 
Ok I would agree with this thread's premise then.


Even if that is fixed, I find that every time I participate in MP, an evil daemon takes over one of the players, making him run his train as fast as possible to ram the legitimate players, escaping the view of the admin, thereby simulating the MP-generated ghosts even before they arrive.
 
Ok I would agree with this thread's premise then.


Even if that is fixed, I find that every time I participate in MP, an evil daemon takes over one of the players, making him run his train as fast as possible to ram the legitimate players, escaping the view of the admin, thereby simulating the MP-generated ghosts even before they arrive.

That once again is MP and your computer not knowing where the train is at. When you see a player train zipping around, its not really zipping around. At that point your computer has no idea where that train is as. So it zips it around untill it finds where that train belongs. Kicking or banning the player dose no good, as thy really didn't do any thing wrong. A click on the players train some times reminds your computer where they are supposed to be at.

Of course, with mi idea of having a shared data table where implemented, then this might help reduce these issues.
 
That once again is MP and your computer not knowing where the train is at. When you see a player train zipping around, its not really zipping around. At that point your computer has no idea where that train is as. So it zips it around untill it finds where that train belongs. Kicking or banning the player dose no good, as thy really didn't do any thing wrong. A click on the players train some times reminds your computer where they are supposed to be at.

I don't doubt what your saying, but these guys I am speaking of are gaining momentum like a full throttle would do, announce their intentions on the squawk before the collision, and leave after the deed is done.
 
I don't doubt what your saying, but these guys I am speaking of are gaining momentum like a full throttle would do, announce their intentions on the squawk before the collision, and leave after the deed is done.

In that case you take note of their name. Then the next time you see them ban them on site. And in that case, I am 100% ok with naming and shaming, so we can all keep an eye out of trouble makers.
 
This sounds a lot like network lag to me. I have not participated in N3V's multiplayer games, but I have seen this with FPS games such as the old Rainbow 6 and others. A player will appear, then skip ahead a few frames then disappear and reappear. This is due to packet loss and data being retried. The problem is by the time the data is received again, the player has updated his position so there is a skip. This could very well be happening in Trainz too.

A player joins the session and sets up 5 cars, as you mentioned.

A second player joins and drives that train.

A third player joins and sees the train, but can't click on it because it's already taken by another player (player two). He grabs another train that's available, but the information is so lagged out that by the time he moves, the player 2's train has now updated the position and runs into player 3 who wasn't there in the first place, and therefore not seen by player 2. I hope this is clear.

Sadly, this isn't uncommon with multiplayer games, but TS12 SP1 HF3 is very I/O bound and any extra overhead seems to be making things worse. Hopefully, N3V is busy working on either a patch or a new version that will resolve this kind of issue.

John
 
I think that multiplayer is dead! There is virtually no one on any servers anymore (ok, 1 or 2 people here and there). I think Trainz (N3V) let things go too far and I for one have decided to start exploring other options out there. Whether I will like what I see is yet to be determined.

The whole "Kickstarter" thing is too little too late in my opinion, unless someone at N3V can prove to me that it's not just all "pie in the sky". I haven't seen one concrete thing that makes me say "wow, I'm jumping right on this Kickstarter bandwagon!" I see wishes and hopes, and that is all.

Sorry N3V, but I've been hanging on by a thread for most of this year (especially after the introduction of SP1 and hotfixes) - even upgraded my computer to help with all the new latency/lag I experienced in the updates. But if no one is interested in MP any longer, that's a showstopper to me because that is the main reason I purchased Trainz rather than another simulator a few years ago.

I'll keep on watching to see what comes in the next month or so, but I'm not holding my breath.

Razor01
 
I have to agree with you Razor. I love Trainz for it ultra easy content creation. In a mater of minutes a user can crate just about any sort of route. And thats what sold me on it. The MP is a bonus, even if a poorly implemented bonus.

I really, REALLY, hate talking about other sims. But I feel I have to here. Run8 has hit the mark for for MP. I know many people look at it and complain that the graphics aren't that good. Or that there is no AI or interactive industries or content creation tools. And to that I say, "Have you ever seen an AI in real life driving a train over the Mojave Sub?" AI is not realism. The graphics are good, not the best, but better then MSTS. And its not all about the looks. Run8's beauty lies under the hood.

But even Run8 suffers another problem that Trainz MP has. and that is no dedicated servers. Yes both Trainz and Run8 do have user's who host their own 24/7 servers. But not every one is into those. So what happens is that you get a user who says, "Im going to host a session with my own rules." Then another user says, "Im going to host a session with my own rules." Then another user says, "Im going to host a session with my own rules." And so on and so on. Until there are 8 or 9 people hosting their own session's with their own rules and no one to join them. Why? cause they are all hosting. This causes more negative affects as the person hosting sees that no one has joined the session. They think that no one is interested in MP and they quit and go back to SP sessions. And so all the hype for MP is killed by people complaining about there not being any sessions.

Ok course Razor, I am not saying you are guilty of this. I am merely stating my observations from planing both Run8 and Trainz in MP.
 
I could not of wrote it any better Razor01....................
My applause after reading your post above might have been heard around the world......................

With Multiplayer not even mentioned in TANE, there is not going to be one dime coming out of my pocket for Kickstart or TANE.
 
If so and can be proven that TANE is the LAST VERSION RELEASE with long term growth within the LAST VERSION RELEASE and Multiplayer Support maybe my view will change.
Until then based on the facts of other posts in reference to TS12 and TANE, I just can not have confidence in TANE or Kickstarter. TS12 is a dead duck and I am outraged at the moment.
 
If that's the case I would politely suggest you wait until the Kickstarter pages are live rather than making comments based on limited information. Same goes to anyone else who is making similar (especially negative) comments regarding the Kickstarter project.

Shane
 
Last edited:
Back
Top