I'm slowly acquiring ZQuake into Mark V mostly because it has independent physics and can play NetQuake progs.dat, or at least the standard ones and Travail and I think I'll notice any limitations and possibly address as I proceed.
But I don't want to break true Quakeworld compatability, but already have some curve balls I'm not sure how to handle.
1) Mark V and Quakespasm do "game warp -quoth" or "game add -hipnotic" (or -rogue or in the case of Mark V, -nehahra too). Do I make a serverinfo or something?
2) Mark V tells the client the current skill level in single player. Probably a serverinfo key again, right?
Now here comes a trickier one:
3) I don't plan the bunnyhopping thing being enabled, this is likely detrimental to many single player maps that hadn't considered it (even if speed runners could do it in NetQuake). So the client shouldn't predict bunnyhopping, it should predict not bunnyhopping. Is there a way to tell the client about this?
There's one more. But I'm sure I can figure this out myself ...
4) I don't think DarkPlaces needs to "nqconnect" or "qwconnect" to a server. I should look through the DP source and see how it doesn't need a different command to connect to different types of servers.
Even though this is proving to be a ton of work, I get the benefit of:
a) Seeing how the Quakeworld timing works, especially for independent physics because I want this in NetQuake single player too because I don't want client and server to be dependent on each other,.
b) Get a better handle on sending a better baseline to clients.
c) Hands on with some of the usage other Quakeworld improvements.