Monday, May 18, 2009

DirectQ as a Dedicated Server

Current versions of DirectQ support running as a dedicated server, and it's nice to be able to do it, solely because it's a feature of the original engine (even if broken in stock GLQuake). But I'm wondering - why would you run this engine as a dedicated server? Most changes are client-side, and those server-side changes of importance (massive relaxation of entity limits being the primary one) require a compatible client to work correctly.

Also, continuing to support a dedicated server means that a lot of baggage is retained in the code, and for new features one has to give consideration to how they should be handled on a dedicated server. It adds more work to the testing cycle, which means that things take longer to get done. All in all, I'm really starting to lean towards seeing continuation of dedicated server support as something I don't need.

So I think that I'm going to be removing the dedicated server from release 1.6; I don't really see any overwhelming reason for it to stay. I can't think of any circumstance under which anyone would seriously want to use this engine in particular as a dedicated server.

If I was going to make a dedicated server today, I'd take the stock code, bump the limits as high as they can go (while maintaining protocol 15 compatibility) and rip out any code not used by the dedicated server. In other words, a pure dedicated server executable, that can be tuned and optimised for that particular purpose.

0 comments: