Administrator guide
Bundled server configs
The Docker image ships a complete server configuration for TaystJK's own game module: server settings, a gameplay baseline, game modes, vote options and a ban list.
For the bundled jaPRO game module only
These files configure TaystJK’s bundled jampgame: the jaPRO-based game module in the
taystjk mod directory. They depend on its settings and commands, such as jaPRO’s tweak
bitmasks, restricts, the
gametype command and vote options run
through vstr. Another mod’s game module does not implement most of them.
The Docker image copies them into basepath/taystjk/
(Dockerfile).
A dedicated server looks for configs only in base and in the directory fs_game selects,
because dedicated builds leave fs_forcegame empty
(files.cpp).
If you set TJK_MOD to another mod, none of these files load, and the server starts from
that mod’s own configuration instead; see
running another mod.
Native releases do not include them. To use them outside Docker, copy the .cfg files
from scripts/docker/
in the source repository into your taystjk/ directory, then launch with +exec server.cfg.
Or build a set with the server config generator:
its Bundled preset and jaPRO modes come from these files, with your server settings filled in.
What loads at startup
The server only runs server.cfg itself, and that file loads the rest:
| File | Holds |
|---|---|
server.cfg |
Identity, passwords, downloads, network, connection security, bots, voting rules, admin levels, accounts, logging and demo settings. It starts the server on mp/ffa3 in FFA. |
bans.cfg |
IP bans. See bans. |
votes.cfg |
The options players can vote for. See vote options. |
default.cfg |
The gameplay baseline that every mode starts from. |
| One file per mode | The game modes. |
pickups.cfg, nopickups.cfg, noboons.cfg |
Add-ons that switch pickups on or off. |
tribesbase.cfg |
Settings shared by the Tribes modes. It is not meant to be run on its own. |
server.cfg applies its own settings, then runs exec bans
(line 49),
exec votes
(line 52)
and exec default
(line 110),
and finally loads the map
(line 122).
There is no map rotation. Each map load sets nextmap to restart the same map
(sv_init.cpp),
so when a match ends the current map restarts, and players change maps with
callvote map. If you want the server to move on by itself, set g_autoMapCycle 1 in
server.cfg; the game then picks the next map for the current gametype from the arena
files
(g_bot.c).
Server settings and gameplay are kept apart
server.cfg holds everything about running the server, and default.cfg holds only
gameplay. Every mode runs default.cfg again when it loads, so loading one never changes
your hostname, password, player limit or admin setup.
Four settings belong to the modes and go back to the baseline whenever a mode loads: which
votes are allowed (g_allowVote) and the
time, frag and capture limits. Put a limit you want in the mode’s file, or let players vote
for one.
The baseline also sets restricts to 1550
(default.cfg).
On TaystJK and jaPRO clients that hides the lead indicator, disables /do, and holds the
third-person camera angle at 0 while racing. Two of its bits are defined but never read, so
they do nothing.
server.cfg runs exec default before the first map for a second reason. On shutdown the
server saves most of these settings to taystjk_server.cfg and loads them again at the next
start (see the server rewriting its config).
Without the reset, a restarted server would begin in FFA with the last mode’s weapons and
force powers still applied.
Passwords
server.cfg ships three passwords near the top, all empty. Fill them in:
set rconpassword "replace-with-a-long-random-secret"
seta g_fullAdminPass "replace-with-another-secret"
seta g_juniorAdminPass "and-a-third"
An empty value disables that login. jaPRO server setup explains what the two admin logins grant and the other ways to give out admin rights.
Keep rconpassword in server.cfg, on a line that starts with set or seta. When Docker
stops the container, the run script sends rcon quit so the server shuts down cleanly
(run.sh),
and it finds the password only by reading that line of server.cfg
(functions.sh).
Without it, the script has nothing to send, and Docker kills the server when its stop
timeout runs out.
Game modes
Load a mode from the server console or with rcon exec <mode>, or let players vote for it
with callvote vstr <mode>. Every mode first runs default.cfg, then applies its own
settings, then reloads the map with map_restart 0
(for example).
The reload is what makes the change complete: weapons and items on the map, and settings
the engine only applies on a map load, change then and not before. It also resets the
scores.
A mode that does not choose a gametype plays FFA, because default.cfg switches back to
FFA with gametype 0
(default.cfg).
In the table, “force limited to jumping and saber skills” means
g_forcePowerDisable leaves only
levitation and saber offense and defense.
| Mode | Plays as |
|---|---|
airshot |
FFA with only the rocket launcher and no splash damage, so only direct hits count. Force limited to jumping and saber skills. |
fftffa |
Team FFA with sabers only and no pickups. Friendly fire stays at the baseline’s half damage, and team heal and team energize are disabled. |
gungame |
FFA gun game (g_gunGame 2) with no pickups, no self damage and no falling damage. Force limited to jumping and saber skills. |
instagib |
FFA with only the disruptor, at ten times weapon damage, and a faster run speed. Force limited to jumping and saber skills. |
instagibrabbit |
Sniper rabbit: the flag carrier gets a disruptor, everyone else fights with sabers at ten times saber damage. No health or armor pickups; frag limit 50. |
jk2 |
FFA with JK2 1.02-style saber combat and force, single saber only. Weapons stay on the map. |
jk2104 |
FFA with the JK2 saber damage system and rescaled stances: yellow at half damage, red at 0.7. |
lugorff |
FFA with single-player-style saber damage and jaPRO’s saber and force tweaks turned off. |
merc |
FFA with every weapon except the concussion rifle, no health or armor pickups, double saber damage and force at rank 1, limited to jumping, protect and saber skills. It sets a capture limit of 7 for playing it as CTF. |
midair |
tribesctf, with projectiles also carrying the shooter’s sideways movement (g_fullInheritance). |
predator |
Team FFA with sabers only, no pickups and single-player-style saber damage. Force limited to jumping and saber skills. |
predator2 |
predator with multiplayer saber damage doubled, backslashes at a hundred times damage, the JK2 lunge and no friendly fire. |
prize |
FFA with sabers only: saber damage cut to a tenth, but backslashes at two hundred times damage. Race mode is off. |
saberctf |
CTF with sabers, thermal detonators and trip mines, JK2-style saber combat and no pickups. Force limited to saber skills; capture limit 5. |
saberonly |
Team FFA with sabers only, no pickups and single-player-style saber damage. Force limited to jumping and saber skills. |
saberrabbit |
Rabbit where holding the flag scores points, with sabers at double damage, backslashes at a hundred times, the JK2 lunge and red DFA. Force limited to saber skills; 30-minute time limit and frag limit 200. |
theone |
Rabbit with Q3 movement at a slow run speed and only the bowcaster, whose shots travel at a fifth of their normal speed. Frag limit 50. |
tribes |
Tribes movement, classes and weapons in FFA. |
tribesctf |
Tribes in CTF. |
tribes1flag |
Tribes in one-flag CTF: carry the neutral flag into the other team’s capture zone (g_neutralFlag 5). |
wswrabbit |
Rabbit with Warsow movement and sabers only, at double saber damage and four times backslash damage. Frag limit 50. |
The rabbit modes need a map with a neutral flag, and the one-flag modes also need capture
zones; the stock maps have neither. The g_neutralFlag
entry describes each variant and what a map must provide.
The three Tribes modes share their settings through tribesbase.cfg
(tribes.cfg),
so each reloads the map only once. Players need the client-side setup as well; see
Tribes.
Pickup add-ons
pickups, nopickups and noboons switch groups of pickups on or off on top of whatever
is running:
| Config | Does |
|---|---|
nopickups |
Turns off health, armor, bacta, force boon, enlightenment and seeker pickups. |
pickups |
Turns the same group back on. |
noboons |
Turns off the force boon and both enlightenments only. |
They set disable_<item> cvars, which the game reads only when it spawns items
(g_items.c),
so follow one with map_restart, or the restart vote. The baseline in default.cfg
already leaves seekers, portable shields, light-side enlightenment and detpack pickups off.
Vote options
votes.cfg defines what players can vote for. Each option is a cvar holding console
commands, and callvote vstr <option> runs them if the vote passes
(votes.cfg).
The baseline allows three kinds of vote: map, vstr and poll
(default.cfg).
fftffa, merc, saberctf and saberonly allow a few more, such as forcing a player to
spectate.
| Group | Options |
|---|---|
| Modes | Every mode above by name, plus default, teamgungame (gun game as team FFA without friendly fire), pickups, nopickups, noboons and restart. |
| Frag limit | 0, 10, 21, 31, 41, 51 and 61, and the same as frag0 to frag41. |
| Capture limit | cap0, cap3, cap5, cap7. |
| Team size | 0v0 to 6v6, which set sv_maxTeamSize. |
| Gametype | ffa, tffa, ctf, and 1flagctf (CTF with g_neutralFlag 6). |
| Movement style | jka, qw, cpm, q3, pjk, wsw, sp, slick, ocpm. |
| Rabbit | rabbit, bkrabbit (holding the flag scores points), norabbit. |
| Loadout | noguns, guns, all, togglefullhp, togglejetpack. |
| On and off | friendlyfire and nofriendlyfire, flagthrow and noflagthrow, fixflagsuicide and nofixflagsuicide, damagenumbers and nodamagenumbers, splat and nosplat. |
| Other | fastregen (faster force regeneration), race (lets players enter race mode again), kickbots. |
togglefullhp and togglejetpack each flip one starting item with the
startingItems command and keep the
rest of the mode’s items, so a second vote flips it back. The gametype options switch
without reloading the map
(g_svcmds.c),
while options that change weapons or pickups on the map take effect after a restart vote.
To add an option, put a set line in votes.cfg, for example set mymode "exec mymode".
How voting works, including which votes the server allows and why a vstr vote can name
any server cvar, is covered in jaPRO server setup.
Bans
bans.cfg holds two settings:
g_filterBan1blocks the listed addresses;0admits only the listed addresses, which makes a private server.g_banIPsis the list itself. It ships commented out.
Bans you add with addip or amBan are saved in g_banIPs and survive a restart; see
bans for the commands and address ranges.
To keep the list in the file instead, uncomment the g_banIPs line. It then replaces the
saved list at every start, so copy any addip bans into it first. Separate the addresses
with spaces and end the list with a space: the game ignores a last address with nothing
after it
(g_svcmds.c).
seta g_banIPs "1.2.3 203.0.113.7 "
Change a file
Override any of these files the same way as server.cfg: copy it from the image into
homepath/taystjk/, where it takes priority over the image’s copy and survives image
updates. For example, to edit the vote options:
docker compose cp \
taystjk:/opt/taystjk/basepath/taystjk/votes.cfg \
./homepath/taystjk/votes.cfg
A mode’s file is read again every time the mode loads, so an edited mode takes effect the
next time it runs. Run rcon exec votes to reload edited vote options, and restart the
server after changing server.cfg. On a native server, edit the copies in your taystjk/
directory.
Last changed History Edit this page on GitHub