Creating Custom Game Factories in Quake Live
Create custom game factories with unique rules and game types for your Quake Live dedicated server.
Setting up a custom factory on your Quake Live server is an advanced approach that offers you flexibility in defining match rules, ensuring unique setups for each game without residual settings affecting subsequent matches. This article guides you through creating your custom game factory.
Using Default Factories
By default we have 22 factories pre-loaded to our Quake Live servers. This is how you add them to your mappool.txt file.
Open the Map Pool File
Access the XGamingServer Panel and select your Quake Live server. In the sidebar click on Files. Select the baseq3 folder and select your mappool.txt file.
Set Factory IDs
Replace the ID after the map name. You can change what map pool file is used under Startup.
Here is a list of all Quake Live factory IDs.
| Title | ID |
|---|---|
| Training | _training |
| RJ Practice | _rj |
| SJ Practice | _sj |
| Arena CTF | actf |
| Attack & Defend | ad |
| Clan Arena | ca |
| Capture The Flag | ctf |
| Domination | dom |
| Duel | duel |
| 1-Flag CTF | oneflag |
| Free For All | ffa |
| Freeze Tag | ft |
| Harvester | har |
| Instagib CTF | ictf |
| Instagib FFA | iffa |
| Instagib Freeze Tag | ift |
| Infected | infected |
| Quad Hog | quadhog |
| Race | race |
| Red Rover | rr |
| Team Deathmatch | tdm |
| Vampiric CA | vca |
Creating a Custom Factory
Navigate to the Scripts Folder
Access the XGamingServer Panel and select your Quake Live server. In the sidebar click on Files. Select the baseq3 folder.
Create the Factory File
Create a new folder within baseq3 and name it scripts. Inside the scripts folder, create a new file with a .factories extension, like mynewgametype.factories. It can be called anything.
Understand the Factory File Structure
This .factories file is a JSON file. It should contain a JSON array with multiple factories or a single JSON object for one factory. A factory example is provided below, demonstrating an InstaGib FFA factory setup:
{
"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"
}
}id: A unique identifier for your factory, used in map pools or callvotes.title,author,description: Strings that provide information about the factory, visible in the 'Start Match' screen.basegt: Specifies the base game type. Valid entries are 'ffa', 'duel', 'race', 'tdm', 'ca', 'ctf', 'oneflag', 'har', 'ft', 'dom', 'ad', 'rr'.cvars: An object containing pairs of custom game variable (cvar) names and their corresponding values.
When the server starts, it attempts to validate all factory files. If there are errors in your custom factory file, these will be noted in the console, and the erroneous factory will not be available for selection. To find errors in your file, you can use a JSON validator to show you where the error is.
How is this guide?