In Quake Live, additional content comes exclusively from the Steam Workshop. Custom rule sets are defined on top of that through so-called factories – small JSON files stored on your server.
Add Workshop content
-
Find the item ID
Open the desired item in the Quake Live Steam Workshop in your browser. The item ID is the number at the end of the address:https://steamcommunity.com/sharedfiles/filedetails/?id=123456789In this example the item ID is
123456789. -
Stop the server
Stop your server via the dashboard. -
Connect via SFTP
Connect to your server via SFTP. -
Open workshop.txt
Open the following file. If it does not exist yet, create it:/baseq3/workshop.txt -
Enter the item IDs
Enter exactly one item ID per line:123456789 987654321 -
Start the server
Save the file and start your server. The server downloads every listed item before it finishes initialising.
Add custom maps to the map pool
A downloaded map is only played once it is part of the map pool.
-
Stop the server
Stop your server via the dashboard. -
Open mappool.txt
Open the following file via SFTP:/baseq3/mappool.txt -
Add the map
Add one map together with its factory per line, separated by a|:campgrounds|ffa mymap|ca -
Start the server
Save the file and start your server.
Create custom game modes (factories)
In Quake Live, gameplay settings do not belong in server.cfg – they get overwritten by the factory of the running game mode. Custom rules are therefore defined as a factory.
-
Stop the server
Stop your server via the dashboard. -
Create the folder
Create the following folder via SFTP if it does not exist yet:/baseq3/scripts/ -
Create the factory file
Create a file there whose name ends in.factories:/baseq3/scripts/mymode.factories -
Define the factory
The file is a JSON file and contains either a single object or an array of several factories. This is what the bundled InstaGib FFA factory looks like:{ "id": "iffa", "title": "Instagib FFA", "author": "id Software", "description": "Railgun and Gauntlet only. One shot, one kill.", "basegt": "ffa", "cvars": { "g_dropCmds": "0", "g_spawnArmor": "0", "dmflags": "28", "g_instagib": "1", "g_startingWeapons": "65", "timelimit": "15", "g_allowKill": "0", "fraglimit": "50", "g_overtime": "0", "g_loadout": "0" } } -
Start the server
Save the file and start your server.
Fields of a factory
| Field | Meaning |
|---|---|
id |
Short name used to reference the factory in the map pool or via callvote |
title |
Display name in the "Start Match" menu |
author |
Creator of the factory |
description |
Short description shown in the menu |
basegt |
Base game type the settings are applied to |
cvars |
Object containing the server variables and their values |
Valid values for basegt:
| Value | Game mode |
|---|---|
ffa |
Free For All |
duel |
Duel |
race |
Race |
tdm |
Team Deathmatch |
ca |
Clan Arena |
ctf |
Capture the Flag |
oneflag |
One Flag CTF |
har |
Harvester |
ft |
Freeze Tag |
dom |
Domination |
ad |
Attack & Defend |
rr |
Red Rover |
Folder structure at a glance
/baseq3/server.cfg <- server configuration
/baseq3/workshop.txt <- item IDs from the Steam Workshop
/baseq3/mappool.txt <- maps and factories of the map pool
/baseq3/access.txt <- admins, moderators and bans
/baseq3/scripts/ <- custom factories (.factories)
