unixoide / 5th-echelon

https://unixoide.github.io/5th-echelon/
76 stars 2 forks source link

Run dedicated_server on public IP to bypass NAT issues? #19

Closed MPW1412 closed 2 months ago

MPW1412 commented 4 months ago

Hello everyone and thanks for this awesome project! It's amazing to see, I'm not the only person on the planet missing this game so bad.

The Ubisoft servers are down again, so we tried to run the dedicated_server. You can start a private match with just one player. Nice :)

What would be the next steps to actually have a multiplayer SvM game?

In README you wrote, that actual playing is not possible right now due to lack of NAT implementation. I thought about running dedicated_server on an public server so NAT wouldn't be necessary. They are available for little money at various hosters.

However, they usually don't feature Windows but Linux. I tried compiling the source code on Linux.

Questions:

For more information about this error, try rustc --explain E0635. error: could not compile ahash (lib) due to 1 previous error warning: build failed, waiting for other jobs to finish...



Thanks for reading!

Best,
Matthias
unixoide commented 4 months ago

What would be the next steps to actually have a multiplayer SvM game?

Figuring out how to correctly set up the game instances to talk to each other correctly. I have a state where they start communicating, but it goes on forever most of the time (in very rare circumstances it works). This feels like I'm sending some wrong bytes somewhere and sometimes by chance they can be correct and everything works.

Unfortunately I never received any recordings from other players while the fix worked, so I don't have enough data to compare.

Does dedicated_server need stuff from Blacklist game folder or can it run on its own on another server?

No, it has no further dependencies.

Am I on the right path here?

The server needs to be reachable by all parties, so yes (but this could also be done through a VPN). But the missing NATTraversal part is related to an implementation detail in which the server helps the game instances to establish a peer-to-peer connection between each other through NAT.

Do you have any idea what this failing dependency does?

Can you post the rust version you're using? The compile error originates in a dependency (ahash), not my code.

MPW1412 commented 4 months ago

Unfortunately I never received any recordings from other players while the fix worked, so I don't have enough data to compare.

Oh damn, that sounds like a missed opportunity.

No, it has no further dependencies.

Okay, cool.

Can you post the rust version you're using?

cargo 1.79.0-nightly (a510712d0 2024-03-25)

Which version do you use for compiling?

OrangeGrays commented 4 months ago

Which version do you use for compiling?

I am guessing they used 1.74 nightly, as stated in the build instructions ;-)

unixoide commented 2 months ago

I'll upgrade to a newer version in the next release, but yes. The version used is always mentioned in the readme and set automatically by a rust-toolchain.toml