Aleph-One-Marathon / alephone

Aleph One is the open source continuation of Bungie’s Marathon 2 game engine.
https://alephone.lhowon.org/
GNU General Public License v3.0
647 stars 99 forks source link

dedicated server (feature request) #75

Open johnnybubonic opened 7 years ago

johnnybubonic commented 7 years ago

Hello! First off, thank you so much for working on this project; it's important that these old games remain playable.

I run a project that runs dedicated internet servers for a slew of games from a similar era (Doom I/II, Unreal Gold, etc.).

I'd love to add the Marathon series via Aleph One to that list... but the servers I run are headless Linux servers.

Would it be possible to add support for a dedicated (or "listen-only", as it's sometimes called)/headless server? I recognize it's perhaps no small task to ask for that, but I'd consider it essential to offer this game for a wider playerbase (it tends to be easier on network latency if you can run a server instance on one central location with a great WAN link, and have multiple clients connect to that instead of running the server instance on a home/residential/consumer ISP line).

If this feature is already present, I apologize for the dupe but I could find no reference to it in the documentation.

Thanks again!

Hopper262 commented 7 years ago

It would be a great feature to add. Unfortunately, Aleph One's architecture does not make this easy. For any interested developers, here are the biggest tasks I see:

  1. Decouple the network topology from other game setup tasks. Currently the gatherer expects joiners to directly connect, and the gatherer sends out chat messages, maps, etc. in code that often mingles UI and networking.

  2. Decouple player rendering from game simulation. Given that we have film playback, it's not a problem to simulate the world separate from keyboard input, but we'd need another mode added to the high-level game logic.