Information below might not be relevant in the latest game version.
NOTE: This is for KAG Classic. For KAG 1.0, see Scripting.
Modding in KAG Classic currently takes the form of editing many text files and changing the variables to your liking, as such, it is sort of limited. The main files you will be editing are called Config files(.cfg).
NOTE: When editing .cfg and .gm files, make sure to copy them to a separate Rules/ subfolder with your own gamemode. Otherwise, they will get automatically overwritten during KAG updates.
- Base/Rules/MODE/knight.cfg or archer.cfg or builder.cfg
break_time & break_time_static These are used to control the build phase, regular break time varies based on how many people are in the server at map start, and break time static is a fixed non-changing amount.
minimum_players_inteam This controls the amount of players needed to start the game, if not reached it will say
autoassign_teams Auto assigning teams mean that it will force the player onto the team with fewer players on connect, turning it off will let the player choose.
autoassign_classes Forces the default class (class 0) on the player at respawn.
playerrespawn_seconds Determines how long it takes to respawn after a death, lower respawn times tend to cause stalemates in CTF.
nearspawn_multiplier Multiplies the respawn timer if close to the tent or outpost on death, helps to ends stalemates in unlimited unit count servers.
death_points Points gained on death, use negative values for subtracting points.
kill_points Points gained on killing another player.
selfkill_points Points gained on killing yourself, falling into a bottomless pit, using cyanide, or jumping on spikes fall under this category.
attackdamage_modifier Changes how much damage all of the classes do.
falldamage_modifier Determines fall damage, setting to 0 will disable it.
falldamage_threshold & falldamage_constant changes the distance needed to enter stun, and then damaging states while falling.
friendlydamage_modifier Modifies the amount of damage that bombs and arrows do to team mates.
itempick_mode Enables picking up of objects like the flag.
It is very important that you remember to create new folders for your mods, or else all your hard work will be overwritten when the game is automatically updated. This process checks for any files that are different from the update server and updates them to match the update server, including your mods.
Depending on the type of gamemode you want to make the amount of skills in coding can range from Beginner to Expert. You would want to start off working with the rules a bit so you can get the hang of it. Then you could move to making rooms and functions. There are various guides on modding in the forum. One link to all of the guides is here: .
Say you wanted to create your own gamemode, and going by the above, you make a new folder for it so auto-update doesn't write over your settings. Now you're wondering how to make the server load it right?
Let's say the new folder you made is named Zombie_Hardmode, go into your scripts folder, and look for the file named dedicated_autostart.gm. Once you open it look for a line similar to this "LoadRules("Rules/Zombie_Survival/gamemode.cfg");" You're going to want to change the filepath so that it matches your new folder: "LoadRules("Rules/Zombie_Hardmode/gamemode.cfg");".
If you're using a custom mapcycle as well, you should do the same for it in this line "LoadMapCycle( "Scripts/ZombieMapCycle.cfg" );"