About

Q3SDC is a special system allowing you to record demos right from server and play them on server, too. The recording process doesn't affect server clients - they won't even be aware of it. Playing demos will be absolutely "unnoticeable" for Quake3 server system and for clients - they won't need to install any additional files to connect to demo playing server.

The demos are recorded in binary files with .sd3 extension, reminding of the usual "dm_48" demos format. Q3SDC writes the complete information about the current level, which allows to reconstruct the positions of all players and objects on server.

To play demos, clients connect to server as spectators and can freely move across the level, watch selected player in viewcam mode (like in OSP) or watch the game from any player's POV. You can also rewind demo in both directions.

You can play back normal demos on server too, protocols dm_48, dm_66, dm_67 and dm_68 are supported.

This program can be used on dedicated Win32 Quake3 1.32 servers as well as local games with bots.

You can download the latest version of Q3SDC at skuller-vidnoe.narod.ru

Installation

Q3SDC works with all versions of Windows compatible with Quake3, but it is compatible only with Quake3 version 1.32.

  1. Unpack the archive into your Quake3 directory (where "quake3.exe" is located)
  2. Launch "q3sdc.exe" instead of "quake3.exe"

Usage

You can control Q3SDC via usual Quake3 server console. Q3SDC simply adds some new commands and cvars.

Commands available in server console:
sdplay
[demo_name]
Starts server-side demo playback. You can skip file path and ".sd3" extension (file will be opened from "demos" folder in your current game directory). You can also use demo number instead (see the next command).
sddemos
Enumerates all available demos, you can use generated numbers in sdplay command.
sdplaylist
[list_name]
Starts server-side cyclic demo list playing. [list_name] should be the path to the text file containing demo names separated by newlines.
sdrecord
[demo_name]
Starts server-side demo recording. You can skip file path and ".sd3" extension (file will be created in "demos" folder in your current game directory). If [demo_name] is not specified, it will be generated automatically in the following format: "map_name-date-time.sd3"
sdstop
Stops server-side demo recording or playback.
sdpause
Pauses server-side demo playback, but clients can still move like usual. To resume playback, repeat this command.
sdprev
[seconds]
Allows to jump some [seconds] backward during server-side demo playback.
sdnext
[seconds]
Allows to jump some [seconds] forward during server-side demo playback.
sdskip
Works only during demo list playback. Allows to skip the current demo and to start next demo in list.

Cvars available in server console:
sdr_splitDemos
[-1; 1]
Specifies what action should be performed at map change during record:
"-1" = Stop record.
"0" = Resume record into same file (default).
"1" = Resume record into new file called "new_map_name-date-time.sd3".
sdp_waitForClients
[0; 1]
If this cvar is set to "1" (default), demo playback will be paused if demo server is empty.
sdp_timescale
[0.5; 10]
Used to adjust playback speed. Default value is "1".

License

You can freely redistribute the archive with this program by any ways on conditions of keeping copyright and not changing all the files containing in original pack.

You can't receive any payment for redistributing this program without permission of the author. You are not allowed to disassemble and/or somehow change program code of all program components and not to change this readme file.

By installing this program on your computer you agree that the developer doesn't take any responsibility for possible damage.

You are using this software at your own risk.

If you don't agree with the above-mentioned conditions you are not allowed to use this program and you must erase it from your computer.


Author

Copyright (c) 2003, Andrey '[SkulleR]' Nazarov
LOCATION: Russia, Moscow region, Vidnoe
Big thanks to Z3 group and especially to akz for their help with Q3SDC testing, and to all quake3 community taking part in program discussion.