I decided to take a look at the networking support between Windows and Linux today, and want to see if what I found matches what other people have found.
1. The Linux host runs fine, the Windows client crashes with an empty random table. This is because it is unable to place its characters on the map, and uses up all 1024 random numbers in the table trying. 2. In RandomSync::GetRand(), a server or local game never uses the table of random numbers. As it needs a new number, it simply generates a new one and add its to the table, then pops it right off, sending it to the client if there is one. Clients simply pop off the front of the table, which should most likely be the random value the server just generated and sent. The other values that are placed in the table are never used unless the server / client get out of sync. This seems like non-optimal behavior. 3. Character placement fails because the client is always placing the character in the ground. The only reasons I can see for this happening is if either the random values are messed up or if what is considered ground is messed up. When debugging this, it shows that it is trying positions such as 20636071, 60589966. This seems like a point very far off from anything. One thing I have noticed is that RAND_MAX is defined differently on Windows (MSVC) and Linux. This would affect a lot of things in RandomSync I believe, and might explain some bugs. kyle _______________________________________________ Wormux-dev mailing list Wormux-dev@gna.org https://mail.gna.org/listinfo/wormux-dev