Introduction
What is the playlist file?
The playlist file is a plain text file located in your game directory's platform
folder. It manages:
Default game parameters (e.g.
match_ending_enabled
)Gamemodes (e.g.
custom_tdm
,survival
) and what maps these gamemodes can be played onGamemode parameters (e.g.
default_shield_hp
forcustom_tdm
)
Through the playlist file, you can customize any gamemode without needing to know how to code.
How do I modify the playlist file?
Simply open the file with any text/code editor.
Structure
In the playlist file, there's the gamemodes, and there's the playlists. Gamemodes are defined in the Gamemodes
block, while playlists are defined in the Playlists
block. At the bottom of the file, you will also find KVFileOverrides
.
Playlists and gamemodes can share the same name (e.g. custom_tdm
)! You can differentiate them by looking in which block they're defined.
Gamemodes block
Gamemodes are bases which the playlists build upon. You do not typically need to modify anything in this block. Currently, we have as base gamemodes:
survival
: standard Apex Battle Royale experiencecustom_tdm
:despite its name, it's a variable-team deathmatch experience with respawns
Playlists block
This is where you can define playlists in order to modify the behavior of the gamemodes. We will talk about this section more in just a bit.
Multiple playlists can have the same base gamemode.
KVFileOverrides block
This is where you can modify weapon values, such as damage, ammo count etc. You can read more about how to modify weapon properties in the Weapons section.
We urge you to use this method instead of modifying the files scripts/weapons/*
, as the changes are broadcasted to every player connected to you, so no weird issues arise using this method. This way, no desync issues/weird bugs will arise.
Now, let's look at an example:
The above is an excerpt from the custom_tdm
playlist settings. You can find the full version in the file.
First of all, anything preceded by //
is not read by the game and is named a comment. It is there only to help other people understand what you've done, or to neatly organize all the properties you've written. A common practice is to comment properties you want to temporarily disable without deleting them, as the game will not read the contents.
In the code above, you see what we'll refer to going forward as a KV (key-value) or PlaylistVar. The key is the property name (max_teams
) and the value is, well, the value of said property (2
). The game will read this KV and make it so the players only get distributed in 2 teams, which is perfect for a Team Deathmatch!
KV's support multiple value types:
Type | Explanation | Example |
---|---|---|
| Integer |
|
| Must be either |
|
| Rational numbers |
|
| Plain text Must be surrounded by |
|
Practical Example
Team Deathmatch is nice and all, but, because of the flexibility of the playlist file, we can make it into a Free For All without any code changes, with the following properties changed:
Notice that we use a new KV called max_team_players
. This will make it so the game is forced to leave only 1 player in each team.
Make sure max_players
isn't greater than max_teams
though, because the game will not have enough teams to assign the players to!
I want more!
Continue to the next section, where you can read about all of the KVs you can modify.
Last updated