-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speed difference causes desync #5
Comments
Interesting - I'm honestly surprised it works at all! 😄 I've only tested it once in a cross-OS setup with mac-to-linux and it worked fine. Would you happen to have the full stacktrace? The snippet you attached only shows the state of one goroutine, but it is not possible to tell where exactly it failed. |
I looked more closely - line
|
I'm trying to run my copy of micromages, and I wanted to hop on with a couple buddies. I downloaded the latest built binary and tried running it. I was on MacOS, Dany was on Windows, and Tel was on Linux. Tel's Linux copy was crashing when connecting to the macos server (directly, port forwarding) plus micro mages had nasty bugs with the emulator. I tried cloning and compiling and that fixed emulation issues, but now connecting seems to not be working. I set up a relay server on my home server, and even there the same issue was happening, but ultimately I think specifically on windows there is an issue in the net code. I'm going to test quickly connecting on the latest build between linux and macos to confirm. This occurs on the local network too between two windows machines, as well as over the internet between two windows machines. |
Additionally weirdly enough, between the same machine using 127.0.0.1 (loopback) it works on windows. |
It totally works between linux and macos, meanwhile any user trying to join on the game on windows has the error log, once I boot back into windows I'll copy the entire log. |
shock, it happened here too, I believe it has to do with the save file that is made
|
Yeah... I'm not really sure it worked at least once
(macos server, linux client) |
I removed the panic code to see what was going on, and turns out that for some reason the game can run at extremely high FPS on one of them, and the other runs at a different FPS, and they run at different speeds, which causes the state to differ greatly. |
Ok, it may not be refresh rate, but its some sort of function of speed that is messing up, here's my demo video (removed panic from code) test.mp4 |
I just tested and it isn't exclusive to this game, it also occurs in super mario bros. Note that when playing on singleplayer on the emulator the speed works, additionally the issue persists regardless of refresh rate. 2024-12-04.22-34-37.mp4 |
Oh, that's a good clue! Something must be off with the lag compensation code. Thanks for the provided info (and the vids) - really appreciate it! I'll take a closer look today |
I tried running and connecting with a macos server and a windows client compiled from latest source as of this comment. It works windows to windows and mac to mac, but across operating systems something seems to not work?
The text was updated successfully, but these errors were encountered: