server-side netquake demo recording

Discuss programming topics for the various GPL'd game engine sources.
Post Reply
Spirit
Posts: 1065
Joined: Sat Nov 20, 2004 9:00 pm
Contact:

server-side netquake demo recording

Post by Spirit »

Playing some coop the other day I realised that it would be great to have server-side demo recording. I know QW has that for ages (MVD). Is there any netquake server that supports it? Perfect would be recording of all entities of course.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: server-side netquake demo recording

Post by Spike »

use fte as an nq server and record an mvd?

nq demos are strictly from one perspective, as are regular qw demos, so if you record everything you do need a different format. ie: mvd.

I think DP servers can record demos, but only separately from each player's perspective (strictly one demo per player). More of a cheat inspection than anything else.
Spirit
Posts: 1065
Joined: Sat Nov 20, 2004 9:00 pm
Contact:

Re: server-side netquake demo recording

Post by Spirit »

Spike wrote:use fte as an nq server
How do I do that again? Could not find anything about this in the Wiki. Physics must be normal!

I forgot that I would indeed need seperate demos since I would want to video capture them in a nq engine. Maybe there is a way to convert MVD to DEMs.

DP is not an option because of its weirdness. Coop is often broken enough as it is, I do not want to have the server introduce more problems. Not too sure if FTEQW would be a good choice tbh. ;)
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: server-side netquake demo recording

Post by Spike »

you can convert mvd to dem by using an fteqtv proxy to play the mvd with an nq client.
but I believe that needs some fixes before its 100%.
you'll likely also need an nq client that can record a network game, as I'm not sure that's a vanilla feature. And you'll need to sit with it to change view points in real-time (ie: no fast forward).
if really needed, I could also theoretically add a mode to directly convert an mvd to dem/qwd files as a commandline tool mode of the qtv program, but not sure if that's useful to anyone other than yourself.

fte will act as an nq server by default, but on port 27500 (sv_port 26000 to change that).
it'll use qw physics by default (sv_nomsec 1 to change that).
then the only other difference is the initial message on map changes.
hopefully.
if you do have issues, be sure to point them out, so I can fix them even if you find a different server.
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: server-side netquake demo recording

Post by leileilol »

Spike wrote:you'll likely also need an nq client that can record a network game, as I'm not sure that's a vanilla feature.
Just record before connecting.

If vanilla couldn't do this, the machanima scene wouldn't exist. ;)
i should not be here
Spirit
Posts: 1065
Joined: Sat Nov 20, 2004 9:00 pm
Contact:

Re: server-side netquake demo recording

Post by Spirit »

cheers!

How to I set the server to protocol 666? sv_protocol does not exist, most engines use that. Searched the wiki without success. In the source I found SCP_FITZ666 but i have no idea about enabling it.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: server-side netquake demo recording

Post by Spike »

you can't
sv_bigcoords 1 will use 999 though, for nq clients. :s

sv_user.c SVNQ_New_f, after the line 'SV_LogPlayer(host_client, "new (NQ)");' you can change the following if to 'if (1)', and it'll force all nq clients to 666.
It really needs some way to detect if its supported in the client. :s
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: server-side netquake demo recording

Post by Spike »

On IRC, you (spirit) reported a few issues with a certain map+mod.
I have:
Fixed a bug that caused QW clients to disconnect (svc_updatestat preparse bug).
Fixed a limit breaking issue with node->firstsurface sign extension resulting in client crashes.
Increased max datagram size for fte+666 clients.
Increased default entity limit cvar value to 8192 (this cvar is capped to 32k).
Added an sv_protocol_nq cvar that allows forcing protocol 666 for nq clients.

Remaining issues:
QW-protocol clients are still limited to 512/2048 ents max, depending on extensions. Entities with an index higher than this will still be invisible. You can work around this with 'cl_loopbackprotocol nq', or by setting 'debug_pext_replacementdeltas 1' on both the client and server.
Sadly this will also affect any recorded mvd demos, so I guess I need to finalise pext_replacementdeltas sooner rather than later (and add support to qtv's playback, if you want to convert to .dem).
Post Reply