Skip to content

How To Setup Quake Live Custom Game Factories

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.

  1. Access the Game Host Bros Panel.
  2. Click on your Quake Live server.
  3. In the sidebar click on Management > File Manager.
  4. Select the baseq3 folder.
  5. Select your mappool.txt file.
  6. Replace the ID after the map name.

You can change what map pool file is used under Startup Parameters. Here is a list of all Quake Live factory ID’s.

TitleID
Training_training
RJ Practice_rj
SJ Practice_sj
Arena CTFactf
Attack & Defendad
Clan Arenaca
Capture The Flagctf
Dominationdom
Duelduel
1-Flag CTFoneflag
Free For Allffa
Freeze Tagft
Harvesterhar
Instagib CTFictf
Instagib FFAiffa
Instagib Freeze Tagift
Infectedinfected
Quad Hogquadhog
Racerace
Red Roverrr
Team Deathmatchtdm
Vampiric CAvca

Creating a Custom Factory

  1. Access the Game Host Bros Panel.
  2. Click on your Quake Live server.
  3. In the sidebar click on Management > File Manager.
  4. Select the baseq3 folder.
  5. Create a new folder within baseq3 and name it scripts.
  6. 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 show you where the error is.