Auto Admin

From Holdfast: Nations At War
Revision as of 11:13, 16 August 2023 by Elf (talk | contribs)
Jump to navigation Jump to search

[Testing here since the steam page keeps deleting my link to google doc]

This page refers to a community made workshop mod created by User:Elf . For support using the mod, you can request support on the official holdfast discord in #Server-Owners.

Installing the Mod

The mod can be found on the steam page here.

At the top of the config file insert mods_installed 2531692643 #eLF’s AutoAdmin .


Insert at the bottom of the map rotation for any maps you wish to have the mod installed load_mod 2531692643 #eLF’s AutoAdmin .

The mod should be the last non-skin mod to be installed in the map rotation otherwise will appear as an option in Map Voting.

Configuration

Many settings used can be modified via the server configuration file. These changes can either be global to all map rotations or local to a single map rotation.

Global vs Local Changes

Global changes should be put at the top of the config and not in a map rotation. These will apply to all rotations. Use the format:

mod_variable autoadmin:<command Name>:<value>

Local changes will apply only to the specific map rotation that they are put in. They MUST be put inside a map rotation. Use the format

mod_variable_local autoadmin:<command Name>:<value>

Player FOL

All classes in the game have customisable settings. These can be changed by the command

Prevent Illegal Shooting

By default the autoadmin will prevent any player from shooting if they are not in spacing. This can be disabled by the following:

mod_variable autoadmin:preventIllegalShooting:false

Class Settings for FOL

mod_variable autoadmin:ClassName:<Layer>,<SafeZone>,<ChainZone>,<OtherPlayersNeeded>
Variable Name Description Examples
ClassName Class Name enum ArmyInfantryOfficer

Guard

Layer The layer that will be checked. Each class can have multiple layers that get checked Player

Arty

Cav

SafeZone The distance (in meters) that will players must be inside to allow the player to shoot 1.13 (m)
ChainZone If the minimum number of players needed is not in the safe zone, then this distance will be used to check if a player is valid via chaining. This is used for players on the "edge" of lines. Recommend making it 1m bigger than the safe zone. 2.13 (m)
Other Players Needed The minimum number of players (other than the player shooting) needed inside the safe zone for a valid FOL 2

Example

Below is an example of allowing Surgeons to Skirm

mod_variable AutoAdmin:Surgeon:Player,5,6,1

Below is an example of allowing Guards to Skirm around a cannon, while only allowing them to shoot in line when no cannon is near.

mod_variable AutoAdmin:Guard:Player,1.13,2.13,2 mod_variable AutoAdmin:Guard:Arty,15,20,1

Below is an example of allowing Carpenters to fire only in line, skirm around a cannon and fire on horseback.

mod_variable AutoAdmin:Carpenter:Player,1.13,2.13,2 mod_variable AutoAdmin:Carpenter:Arty,15,20,1 mod_variable AutoAdmin:Carpenter:Cav,15,20,1


The AutoAdmin will default having all classes following player based FOL apart from Light Infantry and rifles being allowed to Skirm in 5m range. Cannoneers and Sappers being able to skirm around a cannon in 15m range. Hussars and Dragoons being able to fire on horseback in 25m range.

Ghost System

If a casualty occurs in the line, a “ghost” collider is placed where the player died. This will prevent people from being called out for FOL due to a casualty. The time the ghost exists for can be changed by the variable “timeToExist” (in seconds).

Variable Name Description Argument Default
timeToExist The time in seconds that a player is still considered valid after being killed. float 1 (s)

All Charge System

Config Command Description Arguments Default
allChargeVisableWarning The amount warning time given to players before an all charge. Eg if an all charge would be triggered for 10:00, then a 30 second warning means the broadcast will occur at 10:30 letting them know. int 30 (s)
allChargeTimeTrigger In an all charge mode which considers time, when this time is reached, all charge will be called. Eg setting it to 600 will call all charge at 10:00. int 360 (s)
allChargeTriggerDelay The time between a percentage-based trigger and when its called. Eg the percentage-based trigger is met at 11:00, the game will then wait this time before announcing all charge. Eg 11:00 trigger, 10:30 announcement, 10:00 activation. int 30 (s)
minimumNumbersOfPlayers Minimum number of players on the server to trigger a percentage based all charge. int 15
allChargeMinPercentageAlive When the round goes below this value of current players alive compared to the amount spawned, then an all charge will be called if using a percentage based automatic all charge trigger float 0.52
allChargeMessage The message sent when calling an all charge string All charge! Cavalry dismount. Weapon and Artillery Firing is disabled!

Automatic All Charge

The autoadmin can be configured to automatically call all charge when certain conditions are met.

Mode Description
None Auto admin will not call all charge automatically (default state).
TimeOnly When the time set in allChargeTimeTrigger is reached, all charge will be called. Will give a warning in advance up to the number of seconds set in allChargeVisableWarningTime
PercentageOnly When the number of players alive on the server is lower than this percentage, all charge will be called. Must have at least minimumNumbersOfPlayers connected to the server or will not call all charge.
TimePercentageConstant Will have percentage and time conditions. If either condition are met will call all charge. Therefore will use percentage based unless the round goes on for a while where it will call it based on time. This is recommended setting for automatic all charge.

Artillery Settings

Config Command Description Arguments Default
ArtilleryLiveTimer If set, then will automatically enable artillery firing at this time (in seconds). This is easier than manually putting "rc delayed XX set allowArtyFiring" in your config for every rotation. int -1
ArtyOnArtyTime The time (in seconds) for when Arty on Arty is live. If an Arty on Arty shot is detected before this time, a broadcast message will be posted notifying the admin who shot the cannon. int 3600
ArtilleryPrioritySystemEnabled Determines if the game will record and show via the F5 menu who claimed an artillery piece first. Most useful public servers. bool true
CannonClaimedMessage This is the message messaged to players after they claim an artillery piece string You have claimed the Artillery piece and have priority......

Custom Commands

The AutoAdmin has a few custom commands added to the game to make things a little quicker for frequently used combinations. These can be found below

Command Description Arguments
ac [time] Calls all charge now, or if a time is provided then calls it in [time] seconds. All charge will disable shooting, arty, cavalry etc. Time is an optional field
delay <time> <command> Runs <command> in <time> seconds. Eg rc delay 30 set characterGodMode true will run the command in 30 seconds. <time> : seconds

<command> : string

hold Pauses the round. Sets speed to 0, enables god mode. Disables firing.
resume Resumes the round. Sets the speed to 1, disables god mode, enables firing.
s <id> Slaps player with <id> for 50 damage. This is used in comp. <id> : player ID

Chat Filter For Admin Logs

Admin logs by default are filtered out of the chat. These can be re-enabled by the config line:

mod_variable autoadmin:ApplyAdminActionChatFilter:false

Translation / Message Preset Variables

The mod allows many of the Preset messages to be changed via config. These are

Variable Name Description Default
allChargeMessage Message sent when all charge is called All charge! Cavalry dismount. Weapon and Artillery Firing is disabled!
allChargeAtMessage Message sent when annoucing all charge at a specific time All Charge at:
FOLWarningMessage Message sent when a player attempts to FOL Make sure to be shoulder to shoulder when firing
CannonClaimedMessage Message sent when a player claims a cannon You have claimed the Artillery piece and have priority while you remain using it. If someone else takes control of it, then type in recruitment chat to notify an admin