Enemy Territory server side demos

This is a library for recording players from server.

Compatible with vanilla etded 2.60b linux-i386. Any mod should work as this is an engine extension.

Recorded demos are identical to standard client-side demos, so there's no need for a replay server or a patched client.

Installation

Build from source or download .so from releases.

The library needs to be preloaded into the etded binary, like this:

LD_PRELOAD=/path/to/libetwolf_server_demo.so etded +set dedicated 2 +...

Use absolute path for LD_PRELOAD.

Usage

Recording on demand:

record <clientNum>

Stopping the recording:

stoprecord <clientNum>

All demos will be written to %mod%/demos folder.

Configuration

Character Description
%T Map startup time
%t Demo creation time
%G Full GUID (32 hexadecimal characters)
%g Short GUID (8 last characters)
%n Player name
%p Client number
%c Demo counter (4 characters long zero padded number advanced on each demo)
%m Map name

Building

Install following packages (or their alternatives in non-Debian based distros) first:

apt install git build-essential cmake yasm libc6-dev-i386 g++-multilib

Clone the repository and pull the dependencies:

git clone https://klva.cz/code/amk/etwolf-server-demo.git
cd etwolf-server-demo
git submodule update --init --recursive

And finally, build it:

cmake .
make