How will a dedicated server help this game?

Started by
3 comments, last by frob 8 years, 7 months ago

Basically, Rumble Fighter is 8 Player PVP fighting game. The network code for this game was created using a P2P infrastructure, so everyone in a match is sending/receiving packets to each other.

But like every P2P game, there is a lot of lag.

So, my question is how would a client based server or dedicated server help improve this game?

For a better understanding how the game looks/works here's a video.

Advertisement
The server itself doesn't necessarily improve the feeling-of-lag; it can improve the decision-of-what-happened to be consistent.
enum Bool { True, False, FileNotFound };

The best thing YOU can do is make sure the netcode is up-to-par and the servers you are using are good enough for P2P transfer on the level of gaming. You can't really control all those people who have Comcast, Time Warner, or some service provider from across the planet as their means of online gaming.

Would a dedicated server improve this game? Or add more latency?


Would a dedicated server improve this game? Or add more latency?

Depends on details.

A dedicated server usually means a star architecture where everyone has a direct connection to the server. P2P usually means a fully connected mesh where everyone needs to send out many messages to many people. Both have benefits and drawbacks.

P2P means more problems with communications meshes, especially when nodes are locked behind nasty firewalls with little to no NAT traversal. Supporting a partial mesh for P2P can add significant complexity, and adding repeaters for hard-to-reach P2P nodes means basically paying for dedicated machines anyway. Using a host machine in a P2P system means finding the best-connected machines and adding traversal steps to anyone that cannot directly reach the server, which can be a tricky networking problem. Star where the server is publicly addressable means all those problems vanish, since clients typically can reach the public internet.

P2P causes tricky situations when a game host or controller or best connected player drops out, or when connection performance changes. Host migration and mesh renegotiation take thoughtful design. Star has less issue with that since everyone has a single connection to the server that runs the match.

P2P means higher traffic load on individual machines as they must handle more messages, but the individual players pay the costs; Star means less traffic burden on individual clients but a much heavier burden on the server, meaning the studio or person hosting the server pays a higher cost.

Trust issues can be reduced with star on game servers you control. Star means clients trust the server and the server only trusts what it validates. P2P means trust noone without consensus, and consensus can be slow.

Star servers can have both less and more latency. An individual's latency to the server can be quite low, you know your time to the server is x ms. In P2P a peer's latency to multiple peers can be more erratic and varied, one is x ms, another is y ms, another is z ms. Getting enough data to form consensus can take much longer or be much shorter depending on the physical networking details and locations on the globe.

There are many other tradeoffs between star and P2P architectures, those are just the ones that immediately jump to mind.

If you're looking for simplicity, usually a dedicated server you own is the least headaches for developers and for customers. Development is faster and cheaper, the troubling networking conditions are much reduced, but long-term running costs are much higher as the server requirements and bandwidth requirements are much increased.

This topic is closed to new replies.

Advertisement