These are the filename conventions for all .WADs and .PK3s, going into detail regarding mod prefixes.
If your mod does not follow these guidelines, your mod cannot be approved, and you will be instructed to change the filename(s) appropriately.
Mods comprised of only a .soc file or music/sound files do not use prefixes.
Summary:
- All files require a mod type prefix identifying the game, gametypes (if maps are included), and a few other criteria to appear at the beginning of the filename, separated by an underscore. (_)
- For custom gametypes, check the release thread for the base mod for the appropriate prefix(es). If you're creating a custom gametype, the prefix your mod will use will be decided on during the submissions process.
- All files require a version suffix which appears at the end of the filename. It is preferred to use an underscore (_) or hyphen (-) followed by "v[number]", but as long as it is clear that your file has a version number at the end, it's fine.
- Prefixes and Version suffixes are not case sensitive. It's generally preferred to keep prefixes as all caps for the sake of consistency, but not required.
- Files ported from 2.1 or earlier must be at least a full version number higher than the earlier edition of the mod.
- Add-on filenames may not use apostrophes (') or spaces. These interfere with scripts and some OS functions.
Example:
SL_MyMap_v1.1.wad
SRB2 mod type prefixes:
S (SP, Co-op, Competition)
R (Race-only, particularly circuit)
M (Match, Tag, H&S)
F (CTF)
C (Characters)
L (Lua)
When a file fits multiple criteria, they are listed in the same order shown above.
For maps, each map typically has a "primary" gametype which is often also playable in other gametypes. For example, singleplayer stages can almost always be played in race mode, CTF stages are typically functional in match mode. However, for the purpose of a mod prefix, you typically only consider a map's "primary" mode, with other gametypes that incidentally happen to work being implied.
Thus, a wad with multiple maps is usually the reason you would use multiple map gametype letters like SRMF.
If you had a wad with maps and features fitting all of these criteria, then you'd name it SRMFCL_toomanygametypes-v1.wad. If your wad has a Match map and a CTF map, it would be MF_mapname-v1.wad, and so on and so forth.
Lua does not refer to other scripting elements such as SOC or console scripts. It has a prefix mainly because having any Lua scripts loaded causes a noticeable increase in lag.
While some maps may support Singleplayer but not Coop or Race, these are rare and the exceptions can be pointed out in their release thread.
If your mod is a custom gametype that adds a new tab on the gametype menu and requires its own maps, then you must suggest what your prefix for it will be, as all addons for your gametype will need to share it. For example, a mod based on Basketball could be prefixed something like "Bball_" or "BB_", preferably something short. Avoid prefixes that are already being used.
Version Suffixes:
Version suffixes state the version of the file, typically using a v (for version) followed by a decimal number, and separated from the rest of the filename by an underscore (_) or hyphen (-).
If the add-on is a port of something from 2.1 or earlier, the version number must be incremented by at least a full number. If the file previously did not have a version number, then use v2.
Examples:
L_My_Gameplay_Mod-v1.wad
S_My-Ported-Map_v2.wad
C_MyCharacter_v1.4.pk3
SCL_MyLuaCharacterMap_v5.pk3
Addon Port Naming
When making unofficial ports for SRB2 addons, you have to mark your involvement with the port in the addon's filename itself.
- The addon's filename must include the name of the user who ported the content and state that the addon is a port.
- The filename must include the major SRB2 version the port was made for.
- The filename must have an independent version number for itself.
Lets say SRB2 2.3 releases and you (named Eggman for this example) wanted to make a port of my port, in that niche case you must replace the name, SRB2 major version, and the individual port version.
Example: SL_ExampleAddon_EggmanPort_srb2-2.3_V1.pk3
The purpose of including your own name is to avoid bug reports going to the wrong developer, and if you're following the Submission Guidelines then the previous porter's name would be credited within the addon file.
SRB2 Persona Prefixes
For mods that only work in Persona, they should start with a P. The prefixes are otherwise the same as standard SRB2.
Examples:
PCL_Spamtron_v2.pk3
PSL_OverthereStair_v1.pk3
PCSL_YIIKsona_V5.8.pk3
Ring Racers and SRB2Kart Prefixes:
Due to how different both Ring Racers and SRB2Kart are from vanilla SRB2, different prefixes are required for these addons.
Ring Racers add-on type prefixes:
D (Required for all Ring Racers files)
R (Race)
B (Battle)
S (Single Player, includes Special Stages and Boss Battles)
T (Tutorial Levels)
C (Characters)
F (Followers)
L (Lua)
Examples:
DR_MyMap-v1.wad
DC_MyCharacters-v2.pk3
DF_CoolFollowers-V1.2.pk3
DRB_MyMapPack_v1.wad
DRBS_ChaotixCup_v1.wad
DRBST_CupWithNewMechanics-PlusTutorial_V30.pk3
DTCL_ComplicatedCharacterWithTutorial_V16.pk3
DRBC_MyMapAndCharacterPack_v2.2.pk3
DRBCF_MapCharacterAndFollowerPack_v4.0.pk3
DRBSTCFL_MySuperBigGameplayModPack-v8.8.pk3
Race is always listed first, then Battle, then Special Stages, then Tutorials, then Characters, then Followers, and finally Lua, if your file contains all six.
SRB2Kart add-on type prefixes:
K (Required for all SRB2Kart files)
R (Race)
B (Battle)
C (Characters)
L (Lua)
Examples:
KR_MyMap-v1.wad
KC_MyCharacters-v2.pk3
KRB_MyMapPack_v1.wad
KRBC_MyMapAndCharacterPack_v2.2.pk3
KRBCL_MySuperBigGameplayModPack-v8.8.pk3
Race is always listed first, then Battle, then Character, and finally Lua, if your file contains all four.
Cross-Mod Prefix
For mods that can be used for both SRB2 as well as SRB2Kart, you need to add an "X" at the beginning, even if its just a ".lua" file.
We don't recommend trying to make an addon compatible with Ring Racers and SRB2/SRB2Kart. If you do somehow manage that, you should still use the "X" prefix.
Example:
XL_MyLua_v1.wad
Last edited: