4 ms·
I think it's common for multiplayer game engines to implement single-player by running a local server on loopback (or via an equivalent internal mechanism). At
by TazeTSchnitzel 2y ago
I think it's common for multiplayer game engines to implement single-player by running a local server on loopback (or via an equivalent internal mechanism). At the very least, I believe the Source Engine and Minecraft do this. Perhaps Unreal Engine does this also, and if so, that might be why the client has server functionality.
- Gamemaster1379 2y agoFor live service games, self-hosting is increasingly uncommon. During the Source era of Team Fortress 2, Half-Life Deathmatch, etc, self-hosting was certainly a thing. But in the modern era, games like Overwatch 2 have no means to be a server or listen server. Even "custom games" where you can make your own game mode and do fun, arcadey-style things connect to a dedicated server. For things that are "single player", (e.g. Tutorials/Practice), I agree with you that it's to be expected that some sort of mock-loopback is likely stood up. But what was unusual in this situation is the _entirety_ of the code is there, to the point it even would bind to a UDP port and handle full bi-directional UDP communication. I would expect that for something like this, they'd include a trimmed down version, and not ship the _entire_ thing.
- jamesfinlayson 2y agoProbably many games do, but there is often an external master server that the local server fetches data from e.g. Team Fortress 2's local server calls out to a master server that tracks which items you have, Counter-strike: Global Offensive calls out to a separate master server that tracks your level and stats etc.