MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "SDK_User_Guide",
        "continue": "gapcontinue||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "query": {
        "pages": {
            "36": {
                "pageid": 36,
                "ns": 0,
                "title": "Remote Console Commands",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "This guide covers settings that can be reached through the in-game console (bound to F1 by default).  While there are more console commands possible, these are the most commonly used and useful ones.\n\n==Using The Console==\n===Logging In As Admin===\nAll commands will require login with the admin password first (see [[Server Hosting#Basic Configuration & Starting the Server|Server Hosting]] for how to set the <code>server_admin_password</code>).  You only need to log on once per session (i.e. each time you reconnect to a server, but not on map rotation).  The command to login is below and is case sensitive.\n<pre>\nrc login <server_admin_password>\n</pre>\nIf you don\u00e2\u0080\u0099t see any console output confirming the login, hit F1 a couple of times to close and reopen the console.\n\n===Sending Remote Commands===\nAll commands  are prefixed with <code>rc </code> to distinguish them from console commands that run on your local game only.  For example, <code>rc help</code> prints the list of rc commands and some descriptive help text.  If you just type <code>help</code> you would only get the ''local'' console commands rather than the remote commands.\n\nThe console also has auto completion by pressing <code>Tab</code> for most commands (if not all arguments).  This means that you can type a partial command, hit <code>Tab</code>, and it will complete the rest of the command up to the point where there is no ambiguity.  This is handy if you can only remember the start of the command, or to correct the case used for commands as the console is case sensitive.\n\n''Examples:''\n# Typing <code>rc set drawFir</code> and pressing <code>Tab</code> will automatically expand the command to read <code>rc set drawFirearmTrajectories</code>\n# Typing <code>rc carbonPlayers force</code> and pressing <code>Tab</code> will automatically expand the command to read <code>rc carbonPlayers forceInput</code> as it cannot choose between <code>forceInputRotation</code> or <code>forceInputAxis</code>.\n\n===Sending Multiple Commands Per Line===\nIf you want to run multiple commands in a single line, they can be issued with a semi-colon (<code>;</code>) separating each command, as below:\n<pre>\nrc <command1>; <command2>; <command3>; <command4>\n</pre>\n\nFor example, to broadcast a message to begin fighting, turn off god mode, and enable firing as separate commands, you would have to enter the following lines:\n<pre>\nrc broadcast Begin your fight!\nrc set characterGodMode 1\nrc set allowFiring true\n</pre>\n\nTo issue this as a single line command, you would write it as:\n<pre>\nrc broadcast Begin your fight!;set characterGodMode 1;set allowFiring true\n</pre>\n\n===Delayed Execution Commands===\nIf you want to run a command at a specific time in the current map, you can issue a <code>delayed</code> command to run at a specified time.  This takes the format:\n<pre>\nrc delayed <time> <command>\n</pre>\n\nThe time parameter is issued in ''seconds'', and will activate when the in-game clock reaches the specified time.  So a time of 300 will activate when the clock hits 5:00.  Multiple commands can be queued up in this way to activate at a set time.  On servers with unlimited clocks, the time will never be reached so the command will activate immediately.\n\nFor example, if you want to issue the All Charge command in a linebattle at the 8 minute mark, with a warning at 10:00, you could use the commands:\n<pre>\nrc delayed 600 broadcast All charge at 08:00\nrc delayed 480 broadcast All Charge!  No Firing!\nrc delayed 480 set allowFiring false\n</pre>\n\n==Console Commands==\nSome commands take arguments that determine how they behave.  You've already seen one example of this - the ''server_admin_password above'' is an argument to the ''login'' command.  Another would be setting God Mode on the servers. \n\n<code>rc set characterGodMode 1</code>   Enables god mode, the argument is ''1''.\n\n<code>rc set characterGodMode 0</code>  Disables god mode, the argument is ''0''. \n\nWhere commands take arguments, they will be listed in angle brackets (<code><argument></code>).  In some cases, arguments are optional.  These will be surrounded by square brackets (<code>[<optionalArgument>]</code>).  Where more than one optional argument is available, all arguments up to the desired argument must be given.\n\ne.g. For a command of the form <code>rc command <argument1> [<optional1>] [<optional2>] [<optional3>]</code>, to use <code><optional2></code>, we must also provide <code><optional1></code>.\nArguments will be listed in the form <code>''argument'' (type): description</code>, where ''argument'' is the name of the argument, ''type'' indicates the form the argument takes, and finally a ''description'' of the argument.  Possible types of argument are:\n{|\n| scope=\"col\" style=\"font-weight: bold;width:100px;\" |String: ||Any amount of text\n|-\n| scope=\"col\" style=\"font-weight: bold;\" |Boolean: ||<code>true</code> or <code>false</code>\n|-\n| scope=\"col\" style=\"font-weight: bold;\" |Integer: ||A non-floating point number (i.e. no decimals)\n|-\n| scope=\"col\" style=\"font-weight: bold;\" |Float: ||A floating point number (i.e. has decimals)\n|-\n| scope=\"col\" style=\"font-weight: bold;\" |List: ||A specific list of options that will be provided (e.g. faction choices of British, Prussian, or French)\n|}\n''Notes:''\n* Some arguments will require numbers representing a position or rotation.  These can be worked out in game by typing <code>get</code> in the console to give the current player's position and rotation.\n* Some arguments will require the ID of a player.  This is visible in the Admin/Mute Players Window (reached by pressing <code>P</code> by default), or by using the command <code>rc playerlist</code>.\n* All remote commands can be added into your [[Server Configuration]] file for each map rotation, so you can automatically run commands when the map is selected.  For example, you may want to always spawn 100 bots on a certain map for training purposes.\n===Top Level Commands===\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! Arguments\n|-\n|game <[[Maps|MapName]]> <mapRotationIndexToOverload> [<[[Game_Modes|GameMode]]> <[[Server_Configuration_Enums#Faction|AttackerFaction]]> <[[Server_Configuration_Enums#Faction|DefendingFaction]]>]\n|Change level to <[[Maps|MapName]]> using the settings defined in <mapRotationIndexToOverload>. \n\nOptional overloads <[[Game_Modes|GameMode]]>, <[[Server_Configuration_Enums#Faction|AttackerFaction]]> and <[[Server_Configuration_Enums#Faction|DefendingFaction]]>.\n\ne.g. <code>rc game BlackForest 2</code>\n\n|\n:* [[Maps|MapName]] (String): Name of the map, same as in a server config file\n:* <mapRotationIndexToOverload> (Integer): map rotation number\n:* [[Game_Modes|GameMode]] (String): game mode to use (optional)\n:* [[Server_Configuration_Enums#Faction|AttackerFaction]] (String): attacking faction to use (optional)\n:* [[Server_Configuration_Enums#Faction|DefendingFaction]] (String): defending faction to use (optional)\n|-\n|help [<command>]\n|Display help text about console commands\n\ne.g. <code>rc help get</code>\n|''command'' (String): Optionally provide another command name to get further help on that specific command.\n|-\n|broadcast <message>\n|Send an admin message to all players on the server (can also be done in Admin chat with <code>/bc <message></code>)\n\ne.g. <code>rc broadcast Live at 18:30</code>\n|''message'' (String): The text you want to broadcast.  Subsequent calls to this will immediately replace the current message.\n|-\n|carbonPlayers <command> [<arguments>] \n|Bot controls.  For more details see the section on [[#Bot Commands|Bot Commands]]\n|See the section on [[#Bot Commands|Bot Commands]]\n|-\n|cls\n|Clear the console.  Useful if you're recording and want to clear your admin password before starting.\n|N/A\n|-\n|fileReloader <fileType>\n|Allows reloading of server configuration files without a server reboot.  Useful for refreshing ban lists or tweaking [[Server_Configuration|map rotations]].\n\ne.g. <code>rc fileReloader serverConfigFile</code>\n|''fileType'' (List): One of the following options.\n:* serverConfigFile: The [[Server_Configuration|Server Configuration]] file\n:* blackWhiteLists: The blacklist / whitelist\n:* bannedPlayers: Banned players file\n:* mutePlayersVoip: The VOIP muted players file\n:* mutePlayersChat: The chat muted players file\n:* all: Loads all but the Server Configuration.\n|-\n|get [<variable>]\n|Fetches the value of a server setting (or all values if no variable provided).  See [[#Configuration Variables|Configuration Variables]]\n\ne.g. <code>rc get characterGodMode</code>\n|''variable'' (List): See [[#Configuration Variables|Configuration Variables]]\n|-\n|mapRotation <index>\n|Switches to the map configuration specified in the [[Server_Configuration|Server Configuration]] file.\n\ne.g. <code>rc mapRotation 1</code>\n|''index'' (Integer): The number of the rotation to switch to.  The first in the file is 1, the second 2, etc.\n|- \n|playerlist [mode]\n|List the players connected to the server\n|''mode'' (String): One of the following options:\n:* connected: (default) List players that are connected to the server (both spawned and not spawned in)\n:* ingame: List players that are currently mid-round (spawned in)\n:* not-ingame: List players who aren't in-game (not spawned in, not on scoreboard)\n|-\n|scorelog\n|Prints out a score log including a list of who killed who\n|N/A\n|-\n|serverAdmin <command> <ID>\n|Server admin commands.  All generally accessible through the in-game \"P\" menu.\n\ne.g. <code>rc serverAdmin slay 14</code>\n|''command'' (List): One of the following commands.\n:* ban\n:* kick\n:* chatMute\n:* chatUnmute\n:* voipMute\n:* voipUnmute\n:* permChatMute\n:* permVoipMute\n:* slay\n:* slap\n:* say\n\n''ID'' (Integer): The ID of the player to affect\n|-\n|set <variable> <value>\n|Sets the value of a server setting.  See [[#Configuration Variables|Configuration Variables]]\n\ne.g. <code>rc set characterGodMode 1</code>\n|''variable'' (List): See [[#Configuration Variables|Configuration Variables]]\n\n''value'' (?): The value and its type will depend on the variable used.\n|-\n|teleport <target/s> <destination>\n|Teleports a specified player / set of players to another position on the map.\n\ne.g. <code>rc teleport me 200.5,11.1,435</code>\n|''target/s'' (Integer): The ID of the player\n\n'''OR'''\n\n''target/s'' (String): Either ''me'', ''all'', ''defending'', or ''attacking''\n\n''destination'' (Floats): The X,Y,Z co-ordinate in space for the teleport - the Y co-ordinate is height, so try to drop them gently!\n\n'''OR'''\n\n''destination'' (String): Can be set to ''me'' to spawn on the player\n\n|- \n| emplacementLimit <emplacement> <side> <limit>\n| Sets the number of emplacements of a particular type that are buildable for each team\n| ''emplacement'' (List): An [[Server_Configuration_Enums#Emplacement Type|Emplacement Type]]\n\n''side'' (List): Either ''attacking'' or ''defending''\n\n''limit'' (Integer): The limit to set\n|- \n| restart <parameter>\n| Restarts the server based on a parameter\n| ''parameter'' (List): Either ''status'', ''now'', or ''cancel''\n|-\n| vehiclesSpawn <numhorses> [<faction>] [<cavalryClass>]\n| Spawns riderless horses\n| ''numhorses'' (Integer): The number to spawn\n\n''faction'' (List): ''British'', ''French'', or ''Prussian''\n\n''cavalryClass'' (List): ''Dragoon'' or ''Hussar''\n|- \n| vehiclesDespawn <ID>\n| Despawn a horse\n| ''ID' (Integer): The ID of the horse to despawn.\n|-\n| vehiclesManager <command> [<arguments>]\n| Server management for spawned horses (similar to bot controls)\n| See section  on [[#Horse Bot Commands|Horse Bot Commands]]\n|}\n\n===Configuration Variables===\nThere are a number of server-side variables that can be tweaked which affect how the game behaves.  These generally carry over between map rotations, so once they're set they can only be reset manually or by restarting the server.  A recommendation for server owners would be to add the appropriate commands to set defaults into their starter map rotation (such as Training Grounds) so that they can restore the settings without a restart.  See [[Server Configuration]] for how to do this.\n\nTyping <code>rc get</code> will list the full set of variables and their current values.  The ones listed below are those likely to be of use to server admins.  \n\nAs of [[Game_Version_0.3X#0.38|version 0.38]], all settings below can be reset to their default values by issuing the command <code>rc set default</code>.  This is useful to insert into specific [[Server_Configuration|map rotations]] as an easy reset.\n====Game Settings====\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! scope=\"col\" style=\"width:400px;\" | Arguments\n! Default\n|-\n| default || Resets all settings to default. || Does not take an argument || N/A\n|-\n| characterGodMode <setting> || GOD MODE for characters || setting (List): ''0'' to enable, ''1'' to enable for all players, ''2'' to enable for attackers, ''3'' to enable for defenders || ''0''\n|-\n| allowFriendlyDamageDefences <enable> || If enabled, friendly players may destroy the emplacements created by their own faction || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| characterFallDamageEnabled <enable> || Toggles players' fall damage || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| forceFirstPersonMode <enable>  || Toggles forced first person mode || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| allowFiring <enable>  || Toggles the ability for players to shoot with firearms || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| allowArtyFiring <enable>  || Toggles the ability for players to shoot artillery || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| meleeArenaAllowShooting <enable>  || Toggles the ability for players to shoot with firearms in meleearena || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| drawCannonPathTrajectories <enable> || Draw Cannon Path Trajectories || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| drawFirearmTrajectories <enable> || Broadcasts debug info to the clients when a player shoots a firearm.  If you want to clear existing trajectories, get people to shoot into the ground in first person (i.e. bury the trajectories) before turning off. || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| broadcastMeleeDebugDataStrikeInfo <enable> || Broadcasts hit info for the melee debug data to debug melee strikes || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| allowPreviewAnimations <enable> || Allows usage of the preview animations on the clients (dance, etc...) || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| lanternsAsProjectiles <enable> || Allows usage of hand held lanterns as artillery projectiles || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| maxDistanceAllowedForHealing <distance> || Specifies the max distance for surgeon heals || distance (Float): The healing distance || ''2''\n|-\n| fullPlayerHealingProcessTime <time> || Specifies the full time in seconds for a full healing process to finish || time (Float): The time in seconds || ''10''\n|-\n| voiceChatEnabled <enable> || Specifies whether voice chat is enabled or not || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| voiceChatEnabled <[[Server_Configuration_Enums#Attacking Or Defending|faction]]> || Specifies whether voice chat is enabled for a certain faction || enable ([[Server_Configuration_Enums#Attacking Or Defending|faction]]): ''Attacking'' to enable for attackers only, ''Defending'' to enable for defenders only. || ''Both''\n|-\n| voiceChat3D <enable> || Specifies the spatial settings of the Voice Chat players || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| attackingFactionMaterialPoints <materials> || Set the material points for the attacking faction (for Sapper building) || materials (Integer): The number of materials to assign || ''50''\n|-\n| defendingFactionMaterialPoints <materials> || Set the material points for the defending faction (for Sapper building) || materials (Integer): The number of materials to assign || ''50''\n|-\n| spawnSectionsCapturable <enable> || Toggles the ability to make spawn capture points capturable || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| autoWeatherRotation <enable> || Specifies whether the server switches the weather automatically at random intervals || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| characterRespawnTime <time> || Instructs the clients to change the respawn time.  If lower than 5 may still show a 5s progress bar. || time (Float): The time in seconds || ''5''\n|-\n|characterDynamicRespawnTime\n|Instructs the clients to change the respawn time. This also affects tents and table respawn times, unlike ''characterRespawnTime''.\n|time (Float): The time in seconds\n|5\n|-\n| explosionScaleMultiplier <multiplier> || Specifies the explosion scale multiplier || multiplier (Float): A multiplier value || ''1''\n|-\n| ragdollForceMultiplier <multiplier> || Specifies the ragdoll effects multiplier || multiplier (Float): A multiplier value || ''1''\n|-\n| orderSystemEnabled <enable> || Toggles the officer order system.  Defaults to true. || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| instantBuildMode <enable> || Toggles instant emplacement building. || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| crouchToStrikeDelay <time> || Set minimum delay between going from crouch to melee strike (Default: 0.1 = transition time from crouch to combat stance). || time (Float): The time in seconds || ''0.1''\n|-\n| characterMeleeBlockToIdleDelay <time> || The duration it takes for a pressed block to return to idle ('block lingering') || \n|-\n| characterMeleeBlockLingerToStrikeMinDelay <time> || The duration after which you are allowed to exit 'block lingering' to perform a strike (default 0.05). Lower to make feints quicker, increase to slow down feinting. || time (Float): The time in seconds || \n|-\n| characterMeleeBlockToBlockWindow <time> || Time window in which you are allowed to directly switch to a block after letting go off another block. || time (Float): The time in seconds || \n|-\n| characterMeleeHitOpponentStunTime <time> || The duration of a melee hit stun || time (Float): The time in seconds || \n|-\n| show_serverperformance_warning <enable> || Toggles the server performance indicators. || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| roundEndPlayerWin <playerID> || Forces a round to end with a win condition on a certain player. ||\n|-\n| roundEndFactionWin <faction> [<reason>] || Forces a round to end with a win condition on a certain faction. || [[Server Configuration Enums#Faction|faction]] (list): Faction name\n[[Server Configuration Enums#Faction Round Winner Reason|reason]] (list): Check your ''reason'' is valid for current gamemode.\n|-\n|meeleeArenaRoundEndFactionWin <faction>\n|Forces a round in melee arena mode to end with a win condition on a certain faction.\n|[[Server Configuration Enums#Faction|faction]] (list): Faction name\n|-\n|shouldUnlockMouse <enable>\n|client side command, toggles displaying the mouse cursor (disabling camera controls while this is set to true)\n|enable (Boolean): ''true'' to enable, ''false'' to disable\n|-\n|longRangeHeadshotDamage\n|Set the amount of damage headshots deal on long range. 0 = none, 1.0 = all health (instant kill/default). Long Range = 150*m or beyond. \n|Multiplier (float): Normalized range of 0 to 1\n|1.0\n|-\n|revealFaction\n|Reveals a faction on the minimap\n|enable ([[Server_Configuration_Enums#Attacking Or Defending|faction]]): ''Attacking'' to enable for attackers only, ''Defending'' to enable for defenders only.\n|false\n|}\n\n====Cavalry Management====\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! scope=\"col\" style=\"width:400px;\" | Arguments\n! Default\n|-\n| vehicleHorseForAll <enable> || Allows all characters to ride horses || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| vehicleHorseForOfficer <enable> || Allows officers to ride horses || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| useSpecialHorseVariants <enable> || Spawn the holiest of horses || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| secondsToPassAfterDismounted <time> || Despawn time for a horse after the death/dismount of his rider. || time (Float): The time in seconds || ''30''\n|-\n| secondsSpawnedBeforeDespawn <time> || Defines the time a horse needs to have been alive before it gets despawned. || time (Float): The time in seconds || ''60''\n|-\n| secondsToPassAfterHealthUpdated <time> || Defines the time required to pass before a horse is despawned after it has been damaged. If the timer was at 5 seconds, it will reset back to the defined time. || time (Float): The time in seconds || ''15''\n|-\n| vehicleAllowCollisionSlowdown  <enable> || If the horse hits another obstacle (tree/wall/rock/other horse) should the horse slow down/stop. || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| vehicleAllowDamageRearing <enable> || If the horse is hit by damage should the horse do the rearing animation || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| vehicleAllowDamageSlowdown <enable> || If the horse is hit by damage, should the horse be slowed down || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n|vehicleDamageResistanceMultiplier\n|Scales the damage to the horse from any damage source\n|multiplier (float): A multiplier value\n|1\n|-\n|vehicleAirForwardMultiplier\n|Multiplier for the jump forward of the horses\n|multiplier (float): A multiplier value\n|0.8\n|-\n|vehicleJumpHeightMultiplier\n|Multiplier for the jump height of the horses.\n|multiplier (float): A multiplier value\n|1.3\n|}\n\n====Character Movement====\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! scope=\"col\" style=\"width:400px;\" | Arguments\n! Default\n|-\n| characterJumpForce <force> || The jump force of the characters || force (Float): A multiplier value || ''1''\n|-\n| characterRunSpeed <multiplier> || The run speed of the characters (multiplies with below options) || multiplier (Float): A multiplier value || ''1''\n|-\n| characterRunForwardSpeed <multiplier> || The forward run speed of the characters || multiplier (Float): A multiplier value || ''1''\n|-\n| characterRunStrafeSpeed <multiplier> || The strafe run speed of the characters || multiplier (Float): A multiplier value || ''1''\n|-\n| characterRunBackwardsSpeed <multiplier> || The backwards run speed of the characters || multiplier (Float): A multiplier value || ''1''\n|-\n| characterWalkSpeed <multiplier> || The walk speed of the characters (multiplies with below options).  This will also apply when walking while holding objects (e.g. ammo boxes) || multiplier (Float): A multiplier value || ''1''\n|-\n| characterWalkForwardSpeed <multiplier> || The forward walk speed of the characters || multiplier (Float): A multiplier value || ''1''\n|-\n| characterWalkStrafeSpeed <multiplier> || The strafe walk speed of the characters || multiplier (Float): A multiplier value || ''1''\n|-\n| characterWalkBackwardsSpeed <multiplier> || The backwards walk speed of the characters || multiplier (Float): A multiplier value || ''1''\n|-\n| ladderMoverSpeedMultiplier <multiplier> || Multiplies ladder mover speed || multiplier (Float): A multiplier value || ''1''\n|-\n| ladderMoverRotationMultiplier <multiplier> || Multiplies ladder mover rotation || multiplier (Float): A multiplier value || ''1''\n|-\n| rocketMoverSpeedMultiplier <multiplier> || Multiplies rocket mover speed || multiplier (Float): A multiplier value || ''1''\n|-\n| rocketMoverRotationMultiplier <multiplier> || Multiplies rocket mover rotation || multiplier (Float): A multiplier value || ''1''\n|}\n====Weapons====\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! scope=\"col\" style=\"width:400px;\" | Arguments\n! Default\n|-\n| characterInfiniteFirearmAmmo <enable> || Toggles infinite firearm ammo for testing purposes || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| characterWeaponDamageScale <scale> || Sets the scale of the damage that weapons do (NOT CURRENTLY WORKING) || scale (Float): A multiplier value || ''1''\n|-\n| characterWeaponApplyHorizontalDeviation <enable> || Specifies whether the firearm weapons apply horizontal deviation || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| characterWeaponFirearmApplyDrop <enable> || Specifies whether hand weapons can damage DamageableObjects ''(does not appear to be implemented)'' || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n|characterWeaponInfiniteRange\n|Toggles infinite firearm ranges for testing purposes or custom gamemodes\n|enable (Boolean): ''true'' to enable, ''false'' to disable\n|false\n|-\n| characterMeleeBlockStunTime <time> || The duration of a melee block stun || time (Float): The time in seconds || ''0.8''\n|-\n|characterMeleeWeaponReleaseTime\n|The delay of a melee attack\n|time (Float): The time in seconds\n| -1\n|-\n| characterMeleeHitOpponentStunTime <time> || The duration of a melee hit stun || time (Float): The time in seconds || ''0.35''\n|-\n| characterMeleeInterruptedStunTime <time> || The duration of a melee interrupted stun || time (Float): The time in seconds || ''0.4''\n|-\n| characterMaimedTime <time> || The duration of a maim || time (Float): The time in seconds || ''1.5''\n|-\n| characterMaimedMovementTime <time> || The duration of a maim movement || time (Float): The time in seconds || ''0.45''\n|-\n|meleeChambering <enable>\n|Toggles melee chambering\n|enable (Boolean): ''true'' to enable, ''false'' to disable\n| ''true'' |''true''\n|-\n| allowBlocking <enable> || Make it possible to disable melee blocks || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| allowWeaponHoldSwapOverride <enable> || Server administrators are now able to allow players to change to another weapon direction while blocking is disabled. || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| characterExplosiveFirearms <enable> || Enables or disables the ability for firearms to shoot exploading projectiles. || enable (Boolean): ''true'' to enable, ''false'' to disable|| \n|}\n\n====Melee Kicks====\n{| class=\"wikitable\"\n!Command\n!Description\n!Arguments\n!Default\n|-\n|characterSecondaryAttackMaimedTime <time> \n|The duration of a maim from secondary attack (shove/kick)\n|time (Float): The time in seconds\n|''0.45''\n|-\n|characterSecondaryAttackTime <time> \n|The duration of a secondary attack duration\n|time (Float): The time in seconds\n|''0.85''\n|-\n|characterSecondaryAttackCooldownDuration <time> \n|The duration of the cooldown between secondary attacks\n|time (Float): The time in seconds\n|''1''\n|-\n|characterSecondaryAttackForce\n|The distance the opponent will be pushed by a secondary attack\n|multiplier (Float): A multiplier value\n|8.5\n|-\n|characterSecondaryAttackLaunchAngle\n|The launch angle of a secondary attack\n|multiplier (Float): A multiplier value\n|0\n|-\n|characterSecondaryAttackRange\n|The range of a secondary attack\n|multiplier (Float): A multiplier value\n|0.75\n|-\n|characterSecondaryAttackKickbackDuration\n|The duration of the kickback from a secondary attack\n|multiplier (Float): A multiplier value\n|0.22\n|-\n|characterSecondaryAttackWindupTime\n|The duration of the windup of a secondary attack\n|multiplier (Float): A multiplier value\n|0.3\n|-\n|characterSecondaryAttackWinddownTime\n|The duration of the winddown of a secondary attack\n|multiplier (Float): A multiplier value\n|0.3\n|-\n|characterSecondaryAttackStagger\n|Toggles whether Secondary attacks stagger the opponent\n|enable (Boolean): ''true'' to enable, ''false'' to disable\n| -\n|}\n\n====Artillery====\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! scope=\"col\" style=\"width:400px;\" | Arguments\n! Default\n|-\n| cannonMoverSpeedMultiplier <multiplier> || Multiplies cannon mover speed.  Note this will also affect cannon recoil! || multiplier (Float): A multiplier value || ''1''\n|-\n| cannonMoverRotationMultiplier <multiplier> || Multiplies cannon mover rotation || multiplier (Float): A multiplier value || ''1''\n|-\n| allowAmmoSelectorUIDebugShow <enable> || Allows players to use the debugging ammo selector panel.  This is bound to ''O'' by default and will open an instant artillery ammo selection panel. || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| pathProjectileVelocity <value> || Sets the path velocity of the rocket projectile with given input || value (Float): Value to set || ''145''\n|-\n| rocketProjectileVelocity <value> || Sets the velocity of the rocket projectile with given input || value (Float): Value to set || ''22''\n|-\n| rocketProjectileGravity <value> || Change gravity of the rocket || value (Float): Value to set || ''40''\n|-\n| rocketProjectileDamageRadius <value> || The radius of the rocket projectile's impact || value (Float): Value to set || ''3''\n|-\n| rocketProjectileRandomizedInterval <value> || The frequency of random positioning of the projectile in seconds || value (Float): Value to set || ''2''\n|-\n| rocketProjectileDeviation <value> || Set a positive value that can be used to randomize the flight deviation || value (Float): Value to set || ''5''\n|-\n| mortarProjectileDamageRadius <value> || Set a positive value that can be used for mortar aoe damage || value (Float): Value to set || ''3.5''\n|-\n| mortarProjectileVelocity <value> || Set a positive value that can be used for mortar projectile velocity || value (Float): Value to set || ''60''\n|-\n| artyProjectileBounceSpeedReduction <value> || Set a positive value that can be used for bounce slowdowns || value (Float): Value to set || ''0.666''\n|}\n\n====Naval====\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! scope=\"col\" style=\"width:400px;\" | Arguments\n! Default\n|-\n| shipDrivingFieldsScale <scale> || Specifies the scale of the fields that are used when driving ships. Multiplies their speed. || scale (Float): A multiplier value || ''1''\n|-\n| shipFlyMode <enable> || Interplentary travel! Enable ships to fly. || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| windDirectionAffectsShipSpeed <enable> || Specifies whether the wind direction affects the speed of the ships || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|-\n| rowboatSpawnHoldInteractionTime <time> || Rowboat spawning action duration || time (Float): The time in seconds || ''5''\n|-\n| rowboatSpawnHoldInteractionTimeWhileSinking <time> || Rowboat spawning action duration while sinking || time (Float): The time in seconds || ''0.5''\n|-\n| rowboatCooldownBetweenSpawns <time> || Rowboat spawning delay between spawns || time (Float): The time in seconds || ''120''\n|-\n| rowboatCooldownBetweenSpawnsWhileSinking <time> || Rowboat spawning delay between spawns while sinking || time (Float): The time in seconds || ''5''\n|-\n| shipSailWindUnitMultiplier <multiplier> || Wind affect potency on the sails multiplier || multiplier (Float): A multiplier value || ''1''\n|-\n| rowboatCooldownBetweenSpawns <time> || The time it takes for the cooldown of spawning rowboats to end || time (Float): The time in seconds|| ''30''\n|-\n| gunboatCooldownBetweenSpawns <time> || The time it takes for the cooldown of spawning gunboats to end || time (Float): The time in seconds|| ''60''\n|-\n| allowShipStealing <enable> || Allow the enemy to steer enemy ships || enable (Boolean): ''true'' to enable, ''false'' to disable || ''false''\n|-\n| autoKillableBoatCooldownTimer <time> || Time it takes for rowboats and gunboats to destroy themselves after no player interaction || time (Float): The time in seconds|| ''60''\n|-\n| renderOcean <enable> || Toggles the ocean rendering || enable (Boolean): ''true'' to enable, ''false'' to disable || ''true''\n|}\n\n===Weather Settings===\nThese settings will allow you to change the time of day and weather of the current map. All weather and time of day are combined into presets.\n\nWeather presets may only be used on maps that fit their theme, for example you cannot use sand presets, on snow or forest maps. Modmap may use all presets.\n\nThese commands should be prefixed with <code>rc nature</code>.\n\ne.g. To set the wind direction to North, <code>rc nature wind North</code>\n\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! scope=\"col\" style=\"width:400px;\" | Arguments\n|-\n| preset <name>|| Set the weather to one of the defined presets || name (List): The name of the preset to select from the [[#Weather Presets|list here]]\n|-\n| wind <value> [<transitionTime>] || Set the direction of the wind Z (Does not appear to do much at the moment) || value (List): One of ''North, NorthEast, East, SouthEast, South, SouthWest, West, NorthWest''\n\ntransitionTime (Float): The length of time in s for the change to happen over (defaults to 0s)\n|}\n\n=====Weather Presets=====\n\n* Forest_Clear_Day\n* Forest_Clear_Dawn\n* Forest_Clear_Night\n* Forest_Rain_Day\n* Forest_Rain_Dawn\n* Forest_Rain_Night\n* Forest_Storm\n* Forest_Dark_Night\n* Snow_Snowing_Day\n* Snow_Snowing_Dawn\n* Snow_Snowing_Night\n* Snow_Snowstorm\n* Snow_Dark_Night\n* Sand_Clear_Day\n* Sand_Clear_Dawn\n* Sand_Clear_Night\n* Sand_Sandstorm\n* City_Clear_Day\n* City_Clear_Dawn\n* City_Clear_Night\n* City_Rain_Day\n* City_Rain_Dawn\n* City_Rain_Night\n* City_Storm\n\n===Bot Commands===\nHoldfast has some fairly dumb bots.  While they won't put up a fight, they are useful for testing ranges, or just satisfying your need to kill.  All commands are prefixed with <code>rc carbonPlayers </code>.  Note that most commands apply to all bots, except where a bot could literally not follow the command (non-flagbearers switching to a BearingFlag for example).\ne.g. To spawn 50 bots you would issue the command <code>rc carbonPlayers spawn 50</code>.\n\n'''Most commands require prerequisites such as \"be close to the object/horse/player\", have line of sight, or be the correct class.'''\n\n===== Bot commands =====\n\n{| class=\"wikitable\"\n! scope=\"col\" class=\"code\" | Command\n! scope=\"col\" | Description\n! scope=\"col\" | Arguments\n|-\n| spawn <number> [<interval>] || Spawn a number of bots on the server.  Bots spawn (and respawn) as random classes and factions distributed across spawn points. || number (Integer): The number of bots to spawn interval (Integer): Seconds between each spawn.  Defaults to 0.\n|-\n| spawnSpecific <[[Server_Configuration_Enums#Faction|faction]]> <[[Server_Configuration_Enums#Class|class]]> [<name>] [<regiment tag>] [<uniform id>] || Spawns a specific bot. || Name needs to have no spaces, regiment requires someone from that regiment to be in the server\n|-\n| disperse || Randomly disperse bots over the map || N/A\n|- \n| join || Join all of the bots in the centre of the map || N/A\n|-\n| ignoreAutoControls <enable> || Toggles whether the bots will use the auto controls or be controlled directly through a script mod || Used by modding\n|-\n| forceInputAxis <enable> [<playerId>] || Toggles whether the bots shuffle around randomly, or respond to the value set by ''inputAxis'' || enable (boolean): ''true'' to enable, ''false'' to disable\n|-\n| forceInputRotation <enable> [<playerId>] || Toggles whether the bots spin around randomly, or respond to the value set by ''inputRotation'' || enable (boolean): ''true'' to enable, ''false'' to disable\n|-\n| inputAxis <sideways> <forwards> [<playerId>] || Sets the movement inputs for ALL bots || sideways (Float): The amount of strafe input in the range -1 to +1. Positive is to the right. \n\nforwards (Float): The amount of forward/backward input in the range -1 to +1.  Positive is forwards.\n|-\n| inputRotation <rotation> [<playerId>] || Sets the direction for ALL bots to face || direction (Float): The direction in degrees taken from North. i.e. 90 is East, 180 South, etc.\n\nUse <code>get</code> to see your character's current rotation.\n|-\n| playerAction <[[Server_Configuration_Enums#Player_Actions|action]]> [<playerId>] || Tells all bots, or a specific bot, to take a certain action || action (List): See the [[Server_Configuration_Enums#Player_Actions|list of actions]].\n\nSome actions require multiple actions in a sequence to take effect.\n\nExample: <code>rc carbonPlayers playerAction StartGestureAnimation PlayerGesturePray</code>\n|-\n| switchWeapon [<weapon>] [<playerId>] || Tell all bots to switch to this weapon (if they have it in their loadout) || weapon (List): See the [[Server_Configuration_Enums#Weapon|list of weapons]]. \n\nWith no argument will switch between fists and firearm.\n|-\n| switchNextWeapon [<playerId>]|| Tell all bots to switch to their next weapon in their loadout || N/A\n|-\n| autoWeaponSwitchToggle <enable> [<playerId>] || Tell all bots to auto switch their weapons || N/A\n|-\n| voicePhrase <phrase> [<playerId>]|| Bots will shout this phrase || phrase (List): See the [[Server_Configuration_Enums#Voice Phrases|list of voice phrases]].\n|-\n| randomVoicePhrase [<playerId>] || Bots will each shout a random phrase || N/A\n|-\n| equipCarryableItem <carryableObjectType> [<playerId>] [<inworldItemId>]|| Bots will equip a carryable object || carryableObjectType : See the [[Server_Configuration_Enums#Carryable Objects|List of carryable objects]]. \n\ninworldItemId is an optional field if you want to carry an existent inworld item (like an ammobox that will be placed when dropped). \n|-\n| pitch <value> [<playerId>] || Bots will pitch towards the value. Used for aiming and melee attacks. || value ranges from -1.5 (downmost) to 2 (upmost).\n|-\n| yaw <value> [<playerId>] || Bots will twist their body towards the value. Used on horses. || value ranges from -90 to 90 degrees.\n|-\n| setRunning <enable> [<playerId>] || Bots will toggle their run mode. || N/A\n|-\n| startHealing <healerId> <targetPlayerId> || Specific bot will try start healing someone else || N/A\n|-\n| stopHealing <healerId> || Specific bot will stop healing whoever he is currently healing || N/A\n|-\n| instrumentPlay <playerId> <instrumentType> <songId> || Specific bot starts playing a song || instrumentType : See the [[Server_Configuration_Enums#Instruments|List of Instrument Types]], songId : See the [[Server_Configuration_Enums#Instrument_Songs|List of Songs]]\n|-\n| instrumentStop <playerId> || Specifies a bot to stop playing whatever song he's playing || N/A\n|-\n| interactableObject <playerId> <itemId> <shipId> <interactionType> <transitionId> || Allows a bot to interact with an inworld object || use the non-rc command \"set showDebugInteractionSystem <enable>\" to see details on what actions are. Get the InteractionType and TransitionID by mounting the object and pressing f2. Look for the \"Activation Type\" and the \"Transition Index\" at the end. Get off the object and press f2 and use the new values to get them off.\n|-\n| interactableObjectUpdateCannon <playerId> <itemId> <shipId> <xAimRot> <yAimRot> || Allows a bot to update an interaction || xAimRot, yAimRot are floats\n|-\n| interactableObjectUpdateMovingCannon <playerId> <itemId> <shipId> <xAimRot> <yAimRot> <xMoveRot> <pos> <rot> || Allows a bot to update an interaction || xAimRot, yAimRot, xMoveRot are floats. pos, rot are Vector3's written in the \"x,y,z\" format ie \"0,0,0\" as one string.\n|-\n| interactableObjectUpdateMovingLadder <playerId> <itemId> <shipId> <pos> <rot> <xMoveRot> <visual pos> <visual rot> || Allows a bot to update an interaction || xMoveRot is a float. pos, rot, visual pos, visual rot are Vector3's written in the \"x,y,z\" format ie \"0,0,0\" as one string.\n|-\n| interactableObjectUpdateMovingRocket <playerId> <itemId> <shipId> <xAimRot> <yAimRot> <xMoveRot> <pos> <rot> <visual pos> <visual rot> || Allows a bot to update an interaction || xAimRot, yAimRot, xMoveRot are floats. pos, rot, visual pos, visual rot are Vector3's written in the \"x,y,z\" format ie \"0,0,0\" as one string.\n|-\n| mountVehicle <playerId> <vehicleId> [<mountTriggerId>] || Allows a bot to mount a vehicle || use the non-rc command \"set showDebugVehicleSystem <enable>\" to see details on what horse id's are.\n|-\n| dismountVehicle <playerId> || Allows a bot to dismount a vehicle || N/A\n|-\n| highCommandOrder <playerId> <highCommandOrderType> <bot position> <rotation y> || Allows a bot to create an order || highCommandOrderType: See the [[Server Configuration Enums#High Command Orders|List of Officer and Sergeant orders]].\n|-\n| sapperChangeMode <playerId> <sapperMode> || Allows a bot to change his sapper build/deconstruct mode || sapperMode : See the [[Server_Configuration_Enums#Sapper_Build_Mode|List of sapper build modes]].\n|-\n| sapperBuildItem <playerId> <emplacementType> <position> <rotation> <parentId> <socketId> || Allows a bot to build a sapper object || emplacementType : See the [[Server_Configuration_Enums#Emplacement_Type|List of sapper emplacement types]]. \n\nuse the non-rc command \"set showDebugInteractionSystem <enable>\" and \"set showDebugEmplacementSystem <enable>\" to understand the system.\n|}\n\n===Horse Commands===\nThese commands will override '''ALL''' horses on the server, not just non-player horses.\n\nHoldfast has some fairly dumb bots.  While they won't put up a fight, they are useful for testing ranges, or just satisfying your need to kill.  All commands are prefixed with <code>rc vehiclesManager</code>.\n\ne.g. To set horse speed you would issue the command <code>rc vehiclesManager cappedSpeed 2; vehiclesManager forceCappedSpeed true</code>.\n\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! scope=\"col\" style=\"width:400px;\" | Arguments\n|-\n| forceInputAxis <enable> [<vehicleId>] || Toggles whether the horses respond to the value set by ''inputAxis'' || enable (boolean): ''true'' to enable, ''false'' to disable\n|-\n| inputAxis <sideways> <forwards>  [<vehicleId>] || Sets the movement inputs for ALL horses|| sideways (Float): The amount of rotation input in the range -1 to +1.  Positive is to the right. \n\nforwards (Float): The amount of forward/backward input in the range -1 to +1.  Positive is forwards.\n\ninterval (Integer): Seconds between each spawn.  Defaults to 0.\n|-\n| forceCappedSpeed <enable> [<vehicleId>] || Force a capped speed  || enable (boolean): ''true'' to enable, ''false'' to disable\n|-\n| cappedSpeed <speed> [<vehicleId>] || Sets the capped speed  || speed (float): The speed to set\n|-\n| forceRandomInputAxis <enable> [<vehicleId>] || Toggles whether the horses input should be set randomly by ''forcedRandomInputAxisIntervalX '' and ''forcedRandomInputAxisIntervalY ''  || enable (boolean): ''true'' to enable, ''false'' to disable\n|-\n| forcedRandomInputAxisIntervalX <interval> [<vehicleId>] || Sets the time interval between randomly choosing a X-axis (left/right) input || interval (Float): The time in seconds between changes.\n|-\n| forcedRandomInputAxisIntervalY <interval> [<vehicleId>] || Sets the time interval between randomly choosing a Y-axis (forward/backward) input || interval (Float): The time in seconds between changes.\n|-\n| jumpAction [<vehicleId>] || Requests a horse to jump || N/A\n|-\n| rearAction [<vehicleId>] || Requests a horse to rear || N/A\n|-\n| listVehicles || Lists all active horses || N/A\n|}\n\n===Naval===\n{| class=\"wikitable\"\n! scope=\"col\" style=\"width:400px;\" class=\"code\" | Command\n! scope=\"col\" style=\"width:500px;\" | Description\n! Arguments\n|-\n| shiplist || List all spawned ships || N/A\n|-\n| spawnships <[[Server_Configuration_Enums#Ship_Type|ShipType]]> <number> <[[Server_Configuration_Enums#Faction|Faction]]> [<colorvariation>] [<[[Server_Configuration_Enums#Ship_Name|shipnameindex]]>] || Spawns a number of ships for the given faction.  If no faction specified, will randomly choose between British and French || shiptype (List): A defined [[Server_Configuration_Enums#Ship_Type|Ship Type]]\n\nnumber (Integer): The number of ships to spawn\n\nfaction (List): Either ''British'' or ''French''\n\ncolor variation (Integer): Determines the ship's color\n\nshipnameindex (Integer): Sets the ships name\n\n|-\n| removeShips <ID> || Remove ships from the game || selection (List): Either ''all'' or the ID of the specific ship to remove\n|}\n\n==Updates==\nA quick reference of new/changed commands for Holdfast releases\n===[[Game_Version_0.4X#0.40|Version 0.40 - 17th December 2019]]===\n* Multiple changes for Cavalry\n\n===[[Game_Version_0.3X#0.38|Version 0.38 - 11th October 2019]]===\n* Added \"default\" command for resetting server\n\n===[[Game_Version_0.3X#0.37|Version 0.37 - 20th September 2019]]===\n* Added ability to issue multiple commands\n* Added delayed commands\n* Added allowFiring\n\n===[[Game_Version_0.3X#0.36|Version 0.36 - 18th September 2019]]===\n* Added forceFirstPersonMode \n\n===[[Game_Version_0.3X#0.34|Version 0.34 - 23rd August 2019]]===\n* Added secondary attack options\n* Improved teleport command\n\n===[[Game_Version_0.3X#0.33|Version 0.33 - 26th July 2019]]===\n* Added highPingIndicatorWarning setting\n* Added orderSystemEnabled setting"
                    }
                ]
            },
            "951": {
                "pageid": 951,
                "ns": 0,
                "title": "SDK URP Upgrade Guide",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "== v2.19 (Beta) ==\n\n=== Changelog ===\n* Fixed officer lines drawing over modded uniforms.\n* Fixed models using URP-shaders (modded uniforms, custom props) not throwing shadows.\n* Fixed missing shadows in SDK and artifacts on game assets trees.\n* Fixed game assets browser filter logic being inverted.\n* Added \"Deprecated\" filter (default: off) to game assets browser.\n* Added Empire props to game assets.\n* Updated some miscellaneous props in the game assets.\n* Updated \"Uniform System Window\":\n** Added generic first person model support (See new settings: \"Default First Person Model\", \"Default First Person Cuff Color\", \"Default First Person Sleeve Color\").\n** Removed \"PersonalFaction\" enum, the UI that required this has been removed.\n** Renamed \"Uniform Data\" to \"Uniform Random Variants\"\n** Removed \"Uniform Sprite\" from \"Uniform Random Variants\", they weren't being used.\n** Renamed \"Class Sprite\" to \"Uniform Sprite\".\n** Renamed \"Class Greyed Out Sprite\" to \"Head Sprite\".\n** \"Voice Language\" is now disabled if \"Faction\" is not a Frontlines faction.\n** \"Head Sprite\" is now disabled if \"Use Global Head System\" is enabled.\n** \"Special Carryable Object\" is now disabled if \"Player Class\" is incompatible.\n** Clarified tooltips to match the new in-game UI.\n* Updated \"Flag System Window\":\n** Added warning to enable \"Read/Write\" and disable \"Mesh Compression\" on the flag model's import settings.\n\n=== Uniform Mods ===\nIt's no longer necessary to create a first person model per modded uniform. You can now pick from 5 generic first person models (3 Nations At War & 2 Frontlines) and a variety of color variants. This is an ''optional'' change, if your modded uniform includes a custom first-person model, that model will be used instead.\n\nThe new first person models allow us to dedicated more texture space and mesh detail to the pieces of the character that the first person camera actually sees. In addition, it uses less memory as we can now recycle the same model for all the uniforms. We '''recommend''' that modded uniforms make use of the new system.\n\n== v2.15 ==\n\n=== Unity Upgrade ===\nUpgrade your Unity Editor from version 2020.3.34f1 to 2022.3.11f1.\n\n# '''Backup your project files!''' '''Move your \"old\" SDK folder to another location!''' '''<u>We don't recommend an in-place upgrade</u>'''\n# Update the SDK\n# Move your mods back to the new SDK\n# Follow the flow charts below\n=== Changelog ===\n\n* Upgraded the SDK from \"Built-In Render Pipeline\" to \"Universal Render Pipeline\"\n* Removed MicroSplat from the SDK, the free version only exists for the \"Built-In Pipeline\", for URP you need to purchase the asset.\n* Removed \"Holdfast\" shaders, since all their functionality is now natively supported by URP.\n* Added support for using assets from the modbundle as grass on terrain (Add script \"HoldfastModTerrainGrassData\" to your terrain).\n* Removed requirement for \"greyed out\" sprite for uniforms, these are no longer used ingame.\n* Added Austria to FactionCountry enum (this time for real).\n* Added support for uploading to Beta workshop from the SDK.\n* Added support for dedicated servers to download from the Beta workshop. From the command line (takes priority): -betaWorkshop. From the server config: use_beta_workshop [true/false].\n* Added interfaces \"IHoldfastGame\" and \"IHoldfastSharedMethods\" for calling native game methods. \n:\u00bb Instead of injecting commands into the game console UI element, use \"IHoldfastSharedMethods.ExecuteConsoleCommand(...)\". This method returns if the console command executed successfully, the output and [optional] parsing exception for error handling.\n:\u00bb This new interface allows us to expose native game methods directly to modders, without having to rely on rc commands.\n\n=== Uniform & Flag Mods ===\n[[File:UpgradeUniformsAndFlags.png|caption|How to upgrade uniform and flags to URP]]\n\n=== Mod Maps ===\n[[File:UpgradeMaps.png|caption|How to upgrade maps to URP]]\n\n=== Script Mods ===\n[[File:WorkflowScriptMods.png|caption|How to upgrade scripts to URP]]\n\n=== Glossary ===\n\n==== * Common Shaders list ====\nFor backwards compatibility, these are auto-converted on mod load to URP shaders. This doesn't work for every case, so we recommend rebuilding your mod using URP shaders.\n\n* Holdfast/Standard (Specular setup) - Stencil 15\n* Holdfast/Standard - Stencil 15\n* Holdfast/Standard (Specular setup) Double Sided - Stencil 15\n* Holdfast/Standard Double Sided - Stencil 15\n* Holdfast/Cloth-DoubleSided - Stencil 15\n* Standard (Specular setup)\n* Standard\n* Mobile/Bumped Specular\n* Mobile/Bumped Diffuse\n* UBER - Specular Setup/ Core\n* UBER - Metallic Setup/ Core\n* UBER - Metallic Setup/2 Sided/ Core\n* Cloth-DoubleSided\n* Legacy Shaders/Diffuse\n* Legacy Shaders/Bumped Diffuse\n* Legacy Shaders/Specular\n* Legacy Shaders/Bumped Specular\n\n==== ** Converting materials to URP ====\nWe upgraded our SDK from the \"Built-in Render Pipeline\" (BP) to the \"Universal Render Pipeline\" (URP), this means the old materials & shaders will no longer work.\n\nIf your materials no longer render or they are pink, this indicates that they are incompatible with URP.\n\nUse Unity's upgrade tool ('''Edit>Rendering>Materials>Convert Selected Built-In Materials to URP''') to automatically convert \"built-in\" materials to their URP counterparts, this only works for Unity standard shaders.\n\nIf you use the old Holdfast shaders, for example \"Holdfast/Standard - Stencil 15\", first convert them to \"Standard\" then use the Unity upgrade tool ('''Edit>Rendering>Materials>Convert Selected Built-In Materials to URP''').\n\nIf you use 3rd party assets you'll need to obtain the URP version from the Unity store and then remap the materials manually.\n\n==== *** Reporting script mod issues ====\nWe switched from Unity 2020 to 2022, alongside which, Mono was updated. We also swapped from \".NET Framework\" to \".NET Standard 2.1\". This might have an impact on how your mod operates. \n\nIf the behaviour of your script mod has changed, isolate the issue in a small example mod and send the source-code to us. Note: We won't guarantee a patch and won't be looking into issues without a replication project."
                    }
                ]
            }
        }
    }
}