Config Guide


Show all Mods:

Advanced Groups

MainConfig.json (easy - medium)
Copy

  • configVersion: Do NOT Touch ! Only for internal Version tracking
  • serverLogoPath: Path to your Server logo
  • canSeeOwnPlayerOnMap: enable / disable if players should be able to see their own position on the map
  • enableKOTHMarkers: enable / disable KOTH markers (for KOTH mod (https://steamcommunity.com/sharedfiles/filedetails/?id=2350401726))
  • inactiveGroupLifetimeDays: Time after a group will be deleted when no member was active for x Days
  • tacticalPingLifetimeSeconds: Time before a Tactical Ping will be deleted automatically
  • inviteCooldownSeconds: Time a player needs to wait to invite the same player again to prevent spam
  • inviteMaxDistance: (not used yet !)
  • inviteActionEnabled: (not used yet !)
  • inviteActionShowName: (not used yet !)
  • markerConfig: Config for all Marker Types available:
    • type: Internal ID for the specific Marker Types
    • typeString: Descriptive name of this Marker Type
    • maxDistance: Maximum Distance the Marker Type will be visible in 3D and on the Compass
    • display3d: enable / disable if the Marker Type is Visible in 3D
    • displayDistance: enable / disable if the Marker Type should have a distance displayed in 3D
    • displayMap: enable / disable if the Marker Type is Visible on the Map
    • displayCompass: enable / disable if the Marker Type is Visible on the Compass
    • displayGPS: enable / disable if the Marker Type is Visible on the GPS
  • addPlayerDeathMarker: enable / disable if Death Markers should be added at the Death position of a player
  • deathMarkerPrivate: enable / disable if the Death Marker should be added as a private Marker
  • deathMarkerGroup: enable / disable if the Death Marker should be added as a group Marker
  • deleteOldDeathMarker: enable / disable if old Death Markers should be deleted or must be deleted manually by the player
  • deathMarkerIcon: Icon of the Death Marker
  • availableIcons: List of all Icons the Players can choose from when creating a new Marker
  • customMapLayoutFolder, customPlayerlistLayoutFolder, customCompassLayoutFolder: will be removed in future releases
  • layoutStyles: Do not edit ! all Styles can be found in the gui/layouts folder of the mod and must be named correctly. If changed, you may end up without a map gui !
  • enableCompassHud: enable / disable the compass at the top of the Players screen
  • compassRequireItem: make the Compass require an ingame item (like a compass or similar items)
  • compassItems: List of items counting as a compass item. (only one is needed)
  • enableGPS: enable / disable the GPS (due to the implementation of the DayZ Map, this will reduce the Client FPS noticable if shown. Players can still disable the GPS in their Client Config)
  • gpsDisplayAngle: Display the Angle the Player is looking to on the GPS
  • gpsDisplaySpeed: Display the current Speed of the Player on the GPS
  • gpsDisplayCoords: Display the current Coordinates on the GPS
  • gpsRequireItem: Require the player to have an item in their inventory to enable the GPS
  • gpsItems: Items that count as a GPS (only one is needed)
  • gpsOnlyInVehicles: Force the GPS only to show if the Player is in a vehicle
  • vehiclesWithGPS: List of vehicle with an "inbuild GPS" (do not require the GPS Item if needed)
  • groupManagePageObfuscatePlayernames: enable / disable player Names being displayed in the Player list. If disabled the Names will be shown as usual. If enabled, the names will just be random numbers, which change every restart
  • enablePlayerList: enable / disable the Player List in the top left corner
  • enablePlayerListDistance: enable / disable if the Distance to the other Players should be displayed in the Player List
  • enableSubGroups: enable / disable subgroups / firegroups to split larger groups into smaller groups. This should make it harder for larger groups to run around as on big squad and wipe out every small group
  • enableSubGroupSharedPlayerMapMarker: If enabled, the players can still see eachother even if not in the same subgroup, which makes the subgroups pointless
  • enableSubGroupSharedPingMapMarker: Enable if the Ping Markers should be shared in the subgroups
  • enableInfoPanelSurvivorCount: Show the Amount of online Players on the Info Panel of the Map
  • enableInfoPanelCursorCoordinates: Show the current cursor Coordinates on the Info Panel of the Map
  • enableUIPlayerPosition: Show the current Player Position on the Info Panel of the Map
  • enableInfoPanelIngameTime: Show the current Ingame Time on the Info Panel of the Map
  • enableInfoPanelRealTime: Show the current Real Time on the Info Panel of the Map (Time set as system Time)
  • disableInfoPanelModCreatorMention: disable if the small message with my Name should be hidden on the Info panel
  • groupMarkerLimit: Base limit of Group Markers, that can be added (can be expanded per level in the levels.json)
  • offlinePlayer3dMarkerDistance: Distance the Offline Member Markers should be shown in 3D (numbers smaller than 0 will disable it)
  • subGroupNames: Names of the Subgroups. Make sure you have enough names for the amount of subgroups for the highest level (see levels.json)
  • buttonConfig: List of all Buttons shown on the Info Panel:
    • buttonName: Display Name of the Button (Text on the Button)
    • subtext: Short descriptive Text under the button
    • link: URL to the Website, that should be opened if the button is clicked

Levels.json (medium)
Copy

  • List of all Group Levels available (at least one level is required !)
    • level: current level number (starts with 0. Do not use the same for different levels and do not skip numbers)
    • maxPlayerCount: Maximum Total Player Count
    • upgradeCost: Cost to upgrade the group to this level (upgradeCost for level 0 will be the creation cost of the group)
    • subgroupCount: If Subgroups are enabled (see MainConfig): The amount of subgroups this level has
    • subgroupSize: Size fo each subgroup. subgroupCount * subgroupSize must be bigger than the maxPlayerCount to allow players to switch groups. ! Offline players will also occupy a subgroup slot so make sure the Group has enough room for switching around !
    • groupMarkerLimitAdded: Group Marker Limit added to the groupMarkerLimit in the MainConfig.json
    • groupPlotpolesLimitAdded: If Plotpole DLC is used: Max Count of Plotpoles adding to the base Limit defaultPlotpoleCountPerGroup in PlotpoleConfig.json

Admins.json (medium)
Copy

  • version: Do NOT Touch ! Only for internal Version tracking
  • admins: List of all Admins with their Permissions. Each Admin need's his own entry !
    • version: Do NOT Touch ! Only for internal Version tracking
    • steamid: SteamID of the Admin
    • comment: Comment for the Admin (e.g. Name)
    • openNoBuildPanel: Can Open the No Build Zones panel
    • noBuildZonesAddRemove: Can add and remove no Build Zones
    • noBuildZonesToggle: Can Set if No Build Zones should be enabled
    • noBuildZoneIgnoreZones: Can deploy anything in no Build zones
    • openAdminPanel Can Open the Admin Panel on the Map
    • adminPanelListAllGroups: Can see all Groups (with Players and Markers)
    • adminPanelJoinGroup: Can join any group selected
    • adminPanelDeleteGroup: Can delete any Group
    • adminPanelRenameGroup: Can change the Group Tag and Group Name of any group
    • adminPanelPromotePlayer: Can promote Players in any group
    • adminPanelDemotePlayer: Can demote Players in any group
    • adminPanelChangeGroupLevel: Can change the Group Level up or down of any Group
    • adminPanelKickPlayer: Can Kick Players from any Group
    • adminPanelViewSteamid: Can See the SteamID of the Group Members
    • adminPanelViewGroupMarkers: Can see all Group Markers of the Group
    • adminPanelViewGroupPlayerPositions: Can see all Group Player Positions in the Preview
    • adminPanelViewAllTerritoryFlags: Can see all Flagpoles from all groups (requires Plotpole DLC)
    • flagpoleIgnoreBuildLimit: Can build unlimited Flagpoles (can exceed the Plotpole limit of the group)
    • flagpoleIgnoreBuildZones: Can build the Flagpole in No Build Zones
    • flagpoleCanBuildInEnemyZones: Can build anything in territorries not owned by the Admin
    • mapAddGlobalMarkerPerm: Can add Global permanent Markers ingame
    • mapAddGlobalMarkerTemp: Can add Global temp Markers ingame
    • mapRemoveGlobalMarkerPerm: Can remove Global permanent Markers ingame
    • mapRemoveGlobalMarkerTemp: Can remove Global temp Markers ingame
    • canMutePlayers: Can mute players in chat (required Chat Addon (enabled by default))
    • canChangeGroupChatColor: Can change the Group Tag color in the Group overview on the Admin Panel

ChatConfig.json (easy)
Copy

Disable with LBmaster_GroupDisableChat.pbo If you want to use your own Chat Mod

  • currentVersion: Do NOT Touch ! Only for internal Version tracking
  • displayGroupTagsInfrontOfName: enable / disable if group Tags should be displayed infront of the Playername in chat. (Each Group Leader can decide to hide their tag too)
  • enableGlobalChatFeature: Not used anymore ! Use LBmaster_GroupDisableChat.pbo instead to disable the Chat
  • enableMuteVote: Enable if players should be able to vote if another player should be muted
  • muteVoteMinPlayers: Min Players online for a vote to begin
  • muteVoteMuteTimeMins: time a player should be muted if the vote was successful
  • muteVotePercentile: Percentile of players, that need to vote for the player (0 = 0%, 0.5 = 50%, 1.0 = 100%)
  • channels: All channels available
    • channelName: Name of the Channel displayed when switching channels and when opening the chat
    • channelColor: Color of the Playername in the Chat (argb colors from 0 to 255 for Alpha, Red, Green and Blue Channel)
    • globalChannel: set to 1 if Channel is a global channel
    • groupChannel: set to 1 if Channel is a group channel
    • directChannel: set to 1 if Channel is a direct (proximity) channel
    • defaultChannel: set to 1 if this is the default channel selected when the player joins
  • colorBattleyeMessage: argb Color for Battleye messages (e.g. RCON / Server Messages from CF Tools)
  • prefixGroups: List of custom prefixes for players (e.g. Admins)
    • prefix: text infront of the playername (adding a tailing space is recommended)
    • colorR: Red Channel Color from 0 to 255
    • colorG: Green Channel Color from 0 to 255
    • colorB: Blue Channel Color from 0 to 255
    • members: List of all Steamids, which should be in this group
  • badWords: List of all Bad words, which should be censored. (Not Casesensitive)
  • enabledBadWordsCensor: enable / disable if Bad Words should be censored / punished with chat mute
  • blockBadWordContainingMessages: enable / disable if the message should be sent even if bad words were detected
  • badWordsBlockedMessage: message sent to the user when bad words were detected
  • badWordsMuteTime: Time in minutes the player will be muted if bad words were detected

NoBuildZones.json (medium)
Copy

  • version: Do NOT Touch ! Only for internal Version tracking
  • enabled: enable / disable no Build Zones feature
  • displayOnMap: enable / disable if No Build Zones should be visible on the Map (can be disabled in the Client Settings)
  • notificationTitle: Title of the Notification sent to the Player if he wants to deploy objects in a No Build Zone
  • notificationMessage: Message of the Notification {pos} can be used as a placeholder for the name of the Zone the Player is in
  • ignoreItems list of items, which can still be deployed in the No Build Zones
  • zones: list of all the zones defined
    • name: Name of the Zone (displayed in the notificaion Message)
    • x: X-Coordinate of the Zone
    • y: Y-Coordinate of the Zone
    • r: Radius of the Zone

StaticMarkers.json (medium)
Copy

Can be easily edited ingame with the correct Permissions (see Admins.json) List of all the Static / Global Markers e.g. for Traders or special locations
  • type: should always be 0 for type STATIC_MARKER (see MainConfig.json)
  • uid: unique ID for each marker (if you use the same ID for multiple markers, you will delete all markers if one is deleted and players will hide all markers if one is hidden)
  • name: displayname of the Marker shown on the Map / 3D / Compass / GPS
  • icon: path to the icon of the Marker
  • position: x,y,z of the Marker
  • currentSubgroup: Not used here
  • colorA: Alpha Channel of the color
  • colorR: Red Channel of the color
  • colorG: Green Channel of the color
  • colorB: Blue Channel of the color
  • creatorSteamID: Not used here
  • toSurface: calculate height of the marker based on the terrain height at the position (overwrites y of the marker position)
  • display3d: enable / disable if the Marker is shown in 3D
  • displayMap: enable / disable if the Marker is shown on the Map
  • displayGPS: enable / disable if the Marker is shown on the GPS
Markers added ingame have the following attributes set:
  • type = 0
  • uid = random
  • name = set ingame
  • icon = set ingame
  • position = set ingame
  • colorA, colorR, colorG, colorB = set ingame
  • toSurface = true / 1
  • display3d = true / 1
  • displayMap = true / 1
  • displayGPS = true / 1

ClanClothing.json (hard)
Copy

  • version: Do NOT Touch ! Only for internal Version tracking
  • active: enable / disable Clan clothing extension
  • entries: List of all ClanClothing entries
    • clanTags: List of all Clans, which this config should apply to (clans can be in multiple configs)
    • steamids: List of individual Players, which this config should apply to (players can be in multiple configs)
    • itemNames: List of the Itemnames, which should be retextured
    • fileNames: List of the Paths to the hiddenSelectionTextures of the item (blank is the default texture)
itemNames and fileNames must be of the same length ! The first entry for an Item will correspond to the first hiddenSelection of this item. Adding an Item to this list will not create a new Item ! It will only change the texture of this item

Example:
Retexture of Hoodie_Black (defined in DZ/characters/tops/config.cpp): Step 1: Check how many hidden selections the item has Hidden Selections for the Hoddie and almost all clothing items: hiddenSelections[] = {"camoGround","camoMale","camoFemale"}; (3) Step 2: Find the path of the texture you want to add to the config. Something like MyClothingMod/textures/hoodie/xyz/texture_co.paa Step 3: Edit the config. You can add a new Entry for a Clan like this:
{
    "clanTags": ["XYZ"],
    "steamids": [],
    "itemNames": [
        "Hoodie_Black",
        "Hoodie_Black",
        "Hoodie_Black"
    ],
    "fileNames": [
        "MyClothingMod/textures/hoodie/xyz/texture_co.paa",
        "MyClothingMod\\textures\\hoodie\\xyz\\texture_co.paa",
        "MyClothingMod/textures/hoodie/xyz/texture_co.paa"
    ]
}
Note: Filenames with \ must be \\ (double backslash) or single slash /

Permissions.json (expert)
Copy

  • List of all Permission Groups / Ranks for the Clan (default: Temp, Trial, Member, Admin, Leader)
  • UID: Unique ID of this Rank (will be used to store the current Rank of the Player in the Groups json File)
  • nextGroupUID: UID of the higher group (-1 if highest Rank)
  • previousGroupUID: UID of the lower group (-1 if lowest Rank)
  • inheritGroupUID: UID of the Rank, this Rank should inherit from (in most cases the previousGroupUID)
  • permName: Displayname of the Rank shown behind the Playername in the Group overview
  • markerPermissions: List of all Permissions for each Marker Type (see MainConfig.json):
    • param1: type of the Marker (refer to MainConfig.json for all types available)
    • param2: 0 if not visible / 1 if visible
  • canUpgrade: enable / disable if the Player can Upgrade the Group to the next level
  • canPromote: enable / disable if the Player can Promote others
  • canDemote: enable / disable if the Player can Demote others
  • canInvite: allow the Player to invite new Players to the Group
  • promotePower: Power the Player has to promote others. Needs to be greater than the promoteNeedPower of the target rank of the promoted player
  • demotePower: Power the player has to demote others. Needs to be greater than the demoteNeedPower of the current rank of the demoted player
  • canDoBasebuilding: Allow the player to build / dismandle / destroy Basebuilding items
  • canPackPlotpole: can destroy the Flagpole owned by the Group
  • canCreateSeeATMAccount: (only with ATM DLC) can see the Balance of the Group Account
  • canCreateGroupATMAccount: Can buy the Group account
  • canWithdrawGroupMoney: Can withdraw money from the group account
  • canDepositGroupMoney: Can deposit money to the group account
  • tempGroup: 1 if players in this group should be removed after server restart. 0 if group is persistent

MuteConfig.json (don't touch)
Copy

Contains a list of all Muted Players. This will be overwritten while the Server is running ! If you want to unmute a player or mute a player, use the correct ingame chat command for it !mute [Playername] [duration] !muteid [Steamid] [duration] !unmute [Playername] !unmuteid [Steamid] The commands with the Steamid work while the Player is offline

Groups/[GROUP_TAG].json
Copy

This is the config file for each group on the Server. Delete them all, if you want to wipe all groups. Note: I would not recommend editing this file, because it will be overwritten while the Server is running and it can cause the Group to disappear. Use the Admin Tab on the Map instead ! Is can be useful for seaching for players, but you can also do that on the Admin Page
  • configVersion: Internal Version Counter
  • name: Full Name of the Group
  • shortname: Short Group Tag (visible in chat if configured)
  • level: Level of the Group. Levels are defined in the Levels.json
  • maxPlayers: Only temporary number to save max players. Max players is determined by the Level and will be overwritten after Server restart
  • subGroupSize: Only temporary number to save Sub-Group Size. It's determined by the Level and will be overwritten after Server restart
  • subGroupCount: Only temporary number to save Sub-Group Count. It's determined by the Level and will be overwritten after Server restart
  • lastActivity: Last time a player of this group was active. Used to delete old Groups, which are not active. Lifetime can be set in MainConfig.json
  • creationDate: Timestamp when the Group was created
  • markerLimit: Only temporary number to save Marker limit. It's determined by the Level and will be overwritten after Server restart
  • plotpoleLimit: Only temporary number to save Plotpole Count. It's determined by the Level and will be overwritten after Server restart (Does not have an effect if PlotPole DLC is not installed)
  • hasATMAccount: Used to save if the Group has a Group Account when using Enhanced Banking
  • showTagInChat: Enable if the Group Tag should be visible in the Chat. Can be disabled by the Leader
  • hasCustomChatColor: Set a custom Group Tag color for the Chat. Can be used for VIP Clan packages. (I recommend to set the color ingame via the Admin Panel or while the Server is offline)
  • chatColorR: Red Channel color of the Tag Color (0-255)
  • chatColorG: Green Channel color of the Tag Color (0-255)
  • chatColorB: Blue Channel color of the Tag Color (0-255)
  • members: List of Members in the Group
    • type: Always 4 for GROUP_PLAYER_MARKER (MainConfig.json)
    • uid: Unique ID of the Marker
    • name: Last ingame Name
    • icon: Overwritten by the Icon set in the MainConfig.json
    • position: Last Position of the Player (x,y,z)
    • currentSubgroup: Save the current Subgroup if Subgroups are enabled in the MainConfig.json
    • colorA: Overwritten by Individual Client Color settings
    • colorR: Overwritten by Individual Client Color settings
    • colorG: Overwritten by Individual Client Color settings
    • colorB: Overwritten by Individual Client Color settings
    • creatorSteamID: Unused
    • steamid: Steamid of the Player
    • permissionGroup: Rank of the Member in the Group. Value is the UID of the Rank in the Permissions.json
    • online: set to 1 if Player is currently online
    • health: Health of the Player (0-100)
    • tempMember: Automatically set to 1 if the Rank is a temp rank (Overwritten by the Server)
  • markers: List of all Group Markers
    • type: Always 3 for GROUP_MARKER (MainConfig.json)
    • uid: Unique ID of the Marker
    • name: Name of the Marker
    • icon: Icon set by the Player
    • position: Position of the Marker (x,y,z)
    • currentSubgroup: Ignored
    • colorA: Alpha Channel Color of the Marker (set ingame via the Color picker)
    • colorR: Red Channel Color of the Marker (set ingame via the Color picker)
    • colorG: Green Channel Color of the Marker (set ingame via the Color picker)
    • colorB: Blue Channel Color of the Marker (set ingame via the Color picker)
    • creatorSteamID: Steamid of the Player who setup the Marker

Plotpole DLC

PlotpoleConfig.json
Copy

This is the Main Config with all Plotpole Settings:
  • configVersion: Version number of the Config
  • enablePlotpoleExtension: Must be set to 1. Otherwise everything is disabled !
  • syncPlotpolesToCFCloud: Show Plotpoles on the CF Cloud interactive Map
  • doObjectLifetimeReset: Reset the Lifetime of objects within the Plotpole Radius
  • preventUnauthorizedDeploying: Set to 1 to prevent people from deploying objects in enemy territories. This will not prevent people from dropping items like barrels !
  • deployInOthersTerritoryExceptions: List of items, which can still be deployed in enemy territories like C4 or Traps
  • forceDeployingInTerritory: Set to 1 to force all players to build inside a territory. If set to 0, players can build everywhere, but they are not protected by the Flag
  • forceExceptions: Exceptions to this rule. Add things like Campfires or similar things to allow people to use them in the wild
  • preventUnauthorizedBuilding: Set to 1 to disable building basebuilding parts in enemy territories
  • preventUnauthorizedDismantling: Set to 1 to disable dismantling basebuilding parts in enemy territories
  • preventUnauthorizedDestroying: Set to 1 to disable destroying of basebuilding parts in enemy territories (DayZ changed the way basebuilding objects are destroyed !)
  • remainingFlagLifetimeWhenGroupDeleted: When a group owning the flag is deleted, the lifetime of the flag is set to this value. Keep in mind: Groups are deleted when the last player in the group left
  • instantBuildPlotpole: Instantly build the flagpole when the kit is placed. The Flag does not yield any ressources when destroyed
  • autoAttachFlag: Attach a random Flag when instant build is enabled and choose a Flag from the list below
  • autoRaiseFlag: Raise the Flag to 100% when enabled and instant build is enabled
  • autoFlagAttachedItemnames: List of Flags, that can be attached when autoAttachFlag is enabled. A random itemname will be choosen from the list
  • displayPlotpolesOnMap: Create a Marker in the Group when the Flag is placed down (this is not public and can be removed)
  • allowOthersPlotpoleDestroy: Set to 1 to allow players not owning the Flag to destroy it (destroying a flag requires the flag to be lowered !)
  • allowOthersPlotpoleLowerFlag: Set to 1 to allow players not owning the Flag to lower it and stop the lifetime reset of the Basebuilding items
  • allowDismantleInUnclaimedTeritorry: Set to 1 to allow anybody to dismantle unprotected basebuilding items e.g. The Flag is despawned or the Group owning it was deleted
  • allowDestroyInUnclaimedTeritorry: Set to 1 to allow anybody to destroy unprotected basebuilding items e.g. The Flag is despawned or the Group owning it was deleted
  • plotpoleRadius: Radius of the Plotpole (Shape of the Radius is a Cylinder, not a Sphere !)
  • plotpoleHeightUp: Height up of the Plotpole radius from the center of the plotpole
  • plotpoleHeightDown: Height down from the Plotpole center
  • plotpoleDistanceMinHostile: Minimum distance between Plotpoles when owned by different Groups
  • plotpoleDistanceMinFriendly: Minimum distance between Plotpoles when owned by the same Group
  • defaultPlotpoleCountPerGroup: Plotpole Limit for each Group (can be upgraded via the Level.json)

Enhanced Banking

ATMAdmins.json (easy)
Copy

List of Admins with their individual Permissions. Each Admin needs his own Entry !
  • steamid: Steamid of the Player
  • comment: Comment to find entries easier
  • canReloadAdmins: Reload this Admin Config ingame
  • noLimits: If set to 1, all Limits below will be ignored
  • canAccessMobileATM: Open the ATM anywhere by Pressing I
  • canDoMoneyDrop: Allow if Admin should be able to do money drops
  • moneyDropMaxMoney: Max amount of money dropped at once
  • canTogglePersonalAccount: Can enable/disable personal account in the Admin Panel
  • canChangeStartMoney: Can change the amount of start Money in Admin Panel
  • startMoneyMin: Minimum Start Money. Cannot be set to less than the value
  • startMoneyMax: Maximum Start Money. Cannot be set higher than the value
  • canChangeMaxMoney: Change Max Money for Personal Account
  • moneyMaxMin: Miminum Value for Max Money for Personal Account
  • moneyMaxMax: Maximum Value for Max Money for Personal Account
  • canChangePaycheckAmount: Can change the amount of money for the Paycheck
  • paycheckAmountMin: Minimum Value for the Paycheck
  • paycheckAmountMax: Maximum Value for the Paycheck
  • canChangePaycheckInterval: Can change the interval for the Paycheck
  • paycheckIntervalMax: Maximum Value for the Paycheck interval (minutes)
  • paycheckIntervalMin: Minimum Value for the Paycheck interval (minutes)
  • canBoostPaycheckMultiplier: Can enable the Paycheck multiplier boost
  • paycheckMultiplierMin: Minimum Multiplier value
  • paycheckMultiplierMax: Maximum Multiplier value
  • paycheckBoostTimeMin: Minimum Boost time for paycheck multiplier
  • paycheckBoostTimeMax: Maximum Boost time for the paycheck multiplier
  • canToggleGroupAccount: Can enable / Disable Group Bank account when used together with Advanced Groups
  • canChangeGroupAccountCreationCost: Can change the cost for creating a group account
  • groupAccountCreateMin: Minimum cost for creating a group account
  • groupAccountCreateMax: Maximum cost for creating a group account
  • canChangeGroupBaseMoney: Change the base money every group has independent of the players in the group
  • groupBaseMoneyMin: Minimum Base money
  • groupBaseMoneyMax: Maximum Base money
  • canChangeGroupPerPlayerMoney: Change the amout of max money a group has depending on the player count in the group (e.g. 5 Players = BaseMoney + 5 * PerPlayerMoney)
  • groupPerPlayerMin: Minimum per player Money
  • groupPerPlayerMax: Maximum per player Money
  • canChangeGroupMinPlayers: Can set the required player count to create a group account
  • groupMinPlayersMin: Minimum player count value
  • groupMinPlayersMax: Maximum player count value
Note: The min and max values are to limit the admins power, so they cannot set the amounts to insane numbers and destroy the server economy. The frequency of Money drops is not limited ! So if admins can do moneydrops, they could spam the button, but each moneydrop is announced and logged in the adminlog

ATMConfig.json
Copy

  • importFromDeadcraftBanking: Set to 1 to migrate all Player Data from Deadcraft's Banking mod to this one. Make sure you uninstall the other Banking Mod first ! The value will be set back to 0 after the import was completed !
  • importFromKRBanking: Set to 1 to migrate all Player Data from Advanced Banking to this one. Make sure you uninstall the other Banking Mod first ! The value will be set back to 0 after the import was completed !
  • configVersion: Internal Value to upgrade older configs
  • personalATMAccountEnabled: Enable the personal Bank account
  • personalATMAccountMaxMoney: Max Money a player can have on his personal account
  • personalATMStartMoney: Start Money the Player has when first opening the ATM
  • transactionDelayMS: Delay between player actions like withdrawing or depositing money to prevent players spamming them
  • paycheckAmount: Paycheck each player receives after x minutes. Set to 0 to disable paychecks
  • paycheckIntervalMinutes: The interval the paycheck is received to the bank account
  • paycheckMultiplier: Temporary Paycheck multiplier (do not change here ! Use the Admin Panel instead)
  • paycheckMultiplierEnd: Timestamp when the multiplier is set back to 1
  • currencySuffix: Suffix of the currency you use
  • hintRobAmount: Display a small hint to tell the player how much money they can expect from robbing the ATM
  • robMinimalAvailableMoney: Minimum amount of available Money to start robbing the ATM.
  • markRobbedATMOnMap: When using Advanced Groups, the ATM will be marked on the map when robbed
  • robmarkerName: Name of the Marker. $PLAYERNAME$ as placeholder for the Player Name of the player robbing the ATM
  • robmarkerIcon: Path to the icon for the Marker
  • notifyAllPlayersWhenATMIsRobbed: Display a notification on the top of each players screen when someone starts to rob an ATM
  • maxATMRobbedConcurrently: Maximum amout of ATMs that can be robbed at the same time
  • minPlayersOnlineToStartRobbing: Minimum Player Count to allow players to rob ATMs
  • robbingStartNotificationMessage: Message when an ATM is robbed (notifyAllPlayersWhenATMIsRobbed must be set to 1) use $PLAYERNAME$ as Placeholder for the Player Name, %ATM_POSITION% Name of the ATM set for each ATM with robPosition
  • robbingFinishedNotificationMessage: Message when the ATM was successfully robbed. Use $PLAYERNAME$ as Placeholder for the Player Name, %ATM_POSITION% Name of the ATM set for each ATM with robPosition or %MONEY%$ for the amount of money the player got
  • robAmountHints: List of entries, which are needed when hintRobAmount is set to 1
    • minMoney: Minimal Money available to show this Hint (maximum is determined by the next entries minMoney)
    • description: Text to display
  • currencyValues: List of all Currencies available
    • itemclassname: Classname of the currency
    • value: Value for each item (Total Value of a Stack is determined by the quantity * value) e.g. 100 of 10 Rubles = 1000 Rubles total
  • belowValuesOnlyApplyWhenUsing_AdvancedGroups_Mod: All values below only apply if you use Advanced Groups
  • groupATMAccountEnabled: Enable Group account shared for all Group Members. Permissions for who can withdraw and deposit are managed in the Permissions.json
  • groupATMCreationCost: Cost for a Group account to be created
  • groupATMAccountBaseMoney: Base money a Group account has does not depend on the amount of players in the Group
  • groupATMAccountPerPlayer: Max money added to the limit for each player in the Group. Eample: 4 Players in the Group: Max Money = groupATMAccountBaseMoney + 4 * groupATMAccountPerPlayer or 20000 + 4 * 25000 = 120000 MAX
  • groupATMMinPlayers: Minimum Players in a Group to create a Group account

ATMPositions.json
Copy

List of all ATM Positions. EDIT WHILE SERVER IS OFFLINE Otherwise all changes will be lost !
  • version: Internal Version number
  • classname: classname of the spawned ATM. If you add your own ATMs, make sure they inherit my Base class. See How do I add my own ATMs for more information
  • position: Vector Position where to spawn the ATM (x,y,z)
  • orientation: Orientation how to rotate the ATM (first value is rotation right - left)
  • robPosition: Name of the ATM, which is displayed in robbing messages and in the Robbing UI
  • canDepositMoney: Allow Players to deposit money here
  • canWithdrawMoney: Allow Players to Withdraw money here
  • maxRobbingDistance: Maximum distance a player can be away from the ATM while robbing. The Player needs to stay in a certain radius, rather than holding F while robbing
  • spawnChance: Spawn Chance for the ATM to spawn at this position if you want to randomize your ATM locations. 0.0 = 0% 0.5 = 50% 1.0 = 100%
  • canBeRobbed: enable if you want to allow players to rob this ATM. I would recommend to disable it for Safezones
  • robbingConfig: List of Items, which can be used to rob the ATM (you can set different robbing times for each item)
    • requiredRobbingItem: Classname of the Item, which should be used for robbing. "" (empty) for Hands
    • robbingItemDamage: Damage dealt to the Item when the player starts robbing (HP not percent !)
    • robbingTimeMinutes: Time in minutes it takes to complete the robbery
  • minutesLockedAfterRobbing: The the ATM is locked for ALL Players after starting the robbery to prevent people from depositing the money the just robbed
  • minutesNotRobbableAfterRobbing: Time it takes for any other player other then the player who robbed the ATM before it can be robbed again
  • minutesRobberNeedsToWaitBeforeRobbingAgain: Time it takes for the same player to rob the same ATM again
  • lastLockedTimestamp Timestamp to save when the atm was locked. Set to 0 if you want to unlock it (!Does not apply while the Server is running !)
  • lastRobTime: Timestamp to save when the ATM was last robbed.
  • useDepositedCashToCalculateRobbedMoney:
    • 1: Amount of money, which will be received after robbing the ATM will be deternimed by cashDeposited * robbedDepositedCashPercent. This means, that the amount of money depends on how much money the players have withdrawn and deposited in total ! It makes more sense if you want the ATM to only be robbable when players deposit money there. Minimum Money available is determined by robMinimalAvailableMoney in the ATMConfig.json
    • 0: Amount of money, which will be received after robbing atm ATM is a random value between staticMinRobbedCash and staticMaxRobbedCash. robMinimalAvailableMoney from the ATMConfig.json still applies here !
  • needCreditCard: Require the player to hold a credit card in their hands to open the ATM (does not enable the credit card account !) The credit card will just be a required item to open the ATM. Any credit card can be used and the money is not stored on the credit card
  • lastRobbers: List of the last robbers with the timestamp and their Steamid and Name. They will be removed once their robbing timeout expired

ATMPlayers/[STEAMID].json
Copy

The Players Bank account info is stored here. Each json also has a corresponding .bin file, which is a backup of the json, if DayZ corrupts the json file
  • steamid: Of the Player. Should be the same from the filename
  • playername: Last Ingame Name of the player
  • currentMoney: Money the Player has on his personal Account
  • maxMoneyBonus: Additional amount of money for the account limit. Useful for Admins with extended Bank account limit or VIPs or Roleplay Roles
  • paycheckBonus: Additional Money for the Paychecks. the total paycheck will be paycheckAmount + paycheckBonus. If paycheckAmount is set to 0, but the bonus is set to 200, only this player will receive a Paycheck of 200, but the other players not. Useful for VIPs or Roleplay Roles like Police
Note: This file can be edited while the server is running and while the player is on the Server. It will be read once the Player opens the ATM. So if you want to give players money back, you can do that here and they will instantly receive their money to the bank account

Advanced Groups Scripting

How to get the Group of a Player
Copy

// Requires the PlayerBase Object for the Player you want to get the Group from
PlayerBase player;

LBGroup group = player.GetLBGroup();
if (group == null) {
  // Player has no Group
  return;
}
string groupTag = group.shortname;
string groupName = group.name;
int groupLevel = group.level
// All Group Attributes can be found in LBmaster_Groups/scripts/4_World/Groups/configs/LBGroup.c

How to add Server Markers for events like Airdrops
Copy

// Save a reference to the Marker to delete it later. You can also only save the marker UID, which can be retrieved using `int markerUID = marker.uid`
LBServerMarker marker = LBStaticMarkerManager.Get().AddTempServerMarker(name, position, icon, ARGB(a, r, g, b), toSurface, display3D, displayMap, displayGPS);

// Changing Color, Position, name or icon can be easily done if the corresponding function and will be update for all client immediately. They need to be called on the Server to be synched for all Clients. Calling the functions on the Client, will only change them for this client !

marker.SetColorARGB(a,r,g,b); // Change Color
marker.SetPosition(position); // Set new Position
marker.SetName(name); // Change Name
marker.SetIcon(icon); // Change Icon

How to Remove Server Markers for events when they despawned
Copy

// You need to have a reference to the Marker Object or at least the Markers UID (see above)

bool success = LBStaticMarkerManager.Get().RemoveServerMarker(markerUID);
// OR
bool success = LBStaticMarkerManager.Get().RemoveServerMarker(markerObject);

// returns true if marker was found and deleted. If no marker was found, it will return false

I need to edit an Attribute of a Marker by it's UID
Copy

// To get a Marker Object by UID, you need to do the following:
LBServerMarker marker = LBStaticMarkerManager.Get().FindTempMarker(markerUID);

// You should check if the returned marker is not null. If it's null, a marker with this UID does not exist

I want to have a Group Object and find it by tag or name
Copy

// To find a Group by Group Tag, you need to use the Group Manager Class.
// Find by Group Tag
LBGroup group = LBGroupManager.Get().GetGroupByShortName(groupTag);
// Or by Group Name
LBGroup group = LBGroupManager.Get().GetGroupByName(groupName);

I want to get the Players group by his Steamid
Copy

// To get the Group of an offline Player by SteamID, you can use the Group Manager.
LBGroup group = LBGroupManager.Get().GetPlayersGroup(steamid);

I want to add a Player to a Group
Copy

// You need to have a PlayerBase object of the Player you want to add and also a LBGroup Object from the Group you want to add the Player to. How to get a LBGroup object is explained above.
LBGroup group;
PlayerBase player;
// returns false if Player already in a Group. Do not try to add Players to multiple Groups ! How to remove the Player from the Group: See below
bool success = group.AddMember(player);
if (!success) {
  // You can force the Player out of the Existing Group or handle it differently
  LBGroup oldGroup = player.GetLBGroup();
  oldGroup.RemoveMember(player);
  success = group.AddMember(player);
} else {
  Print("Player Added to the New Group");
}

I want to add / remove a Marker to a Group
Copy

// Group Markers require you to have a LBGroup object
LBGroup group;
LBMarker marker = group.AddGroupMarker(name, position, icon, ARGB(a,r,g,b));

// Remove the Marker again by using one of these functions:
group.RemoveGroupMarker(markerObject);
// OR
group.RemoveGroupMarker(markerUID);

Spawn Select Lite

Types.xml
Copy

If you want to use Sleeping Bags, you need to add a few things to the types.xml of your server. The types.xml is located in your mpmissions/<missionFile>/db/types.xml They are configured to already spawn Bags You might want to change the amount and location they spawn Content to add:

<types>
    <type name="LBS_SleepingBag_New_Camo">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingBag_New_Blue">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingBag_Old_Red">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingBag_Old_Blue">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingBag_Old_Brown">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingBag_Old_Green">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingBag_Old_LightPurple">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingBag_Old_Purple">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingBag_Old_Orange">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_New_Camo">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_New_Blue">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_Old_Red">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_Old_Blue">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_Old_Brown">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_Old_Green">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_Old_LightPurple">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_Old_Purple">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="LBS_SleepingPacked_Old_Orange">
        <nominal>2</nominal>
        <lifetime>7200</lifetime>
        <restock>0</restock>
        <min>1</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
</types>

SpawnSelectConfig.json
Copy

The Main Spawn Select Config. Bed Spawn Configs are not handled here !
  • version: Internal config version counter
  • spawn_clear_radius: when picking a spawn point there must not be any buildings in the radius of the picked spawn to allow the player to spawn there. The mod will make multiple spawning attempts if one fails
  • spawnPos: The Spawn Position when the player respawns and the Spawn menu is open. It will only be used if overwrite_default_spawnPos is set to 1. If set to 0, the position of the player will be choosen by DayZ
  • force_exact_spawn_pos: can be set to 1 to make the player spawn exactly at the position set in spawnPos. DayZ sometimes teleports the player on top of buildings. Enable if you have this issue
  • openSpawnMenuOnce: Open the Spawn menu, when the player respawns when set to 1. If set to 0, the player will not see a spawn menu. Useful for spawn areas with a spawn sign somewhere to then teleport away
  • forceOpenSpawnMenu: openSpawnMenuOnce will be ignored and the menu cannot be closed by the player and the player is forced to choose a spawn. Useful if you don't have a spawn area and want the player to choose a spawn. If you have a spawn area you can set it to 0, but open the menu once to allow them to spawn, but if they want to run around in the spawn area first, they can to it.
This will also work when overwrite_default_spawnPos is set to 0 to allow the players to either use the vanilla spawn they got, or teleport to somewhere else
  • hide_when_no_spawns_found: default set to 1 will not show the spawn menu, when the player cannot select any spawns. Useful if you only have sleeping bag spawns and only want to show the menu if the player can spawn at a sleeping bag
  • death_spawn_block_radius: Radius all Spawns will be blocked when the player dies near this spawn with a distance less than the set meter. This will not include Bed Spawns ! Can be set to 0 to disable it
  • death_spawn_block_timeout: Timeout the Spawn receives, when the player died near it. This can not exceed the spawn points timeout. E.g. Spawnpoint has 30min timeout, but death timeout is 1h, it can be 30mins max. If set to 0, it is disabled
  • admins: List of all Admins, which can access the ingame admin menu for placing spawns
  • positions: List of available spawn positions. This can be easily modified ingame !
    • pos: Center Position of the Spawn, which will show in the menu and is used for calculating the distance to the death position of the player
    • name: Displayed name in the Logs and the Spawn Menu
    • timeout: default timeout in seconds when the player spawned there. Will be overwrite the death_spawn_block_timeout, which means event spawns, which might have a timeout of 0 seconds, can always be spawned at
    • spawnRadius: Radius of each spawnPosition in the list below to prevent people from camping exact spots
    • enabled: Enabled / Disable spawns. E.g. have Event Spawns already setup and enable them when the event starts. When changed via admin menu, it will immediately take effect
    • spawnPositions: List of Positions the player can spawn at. The height will always be corrected by the Mod and players cannot spawn under the map

BedSpawnConfig.json
Copy

  • version: Internal Version counter
  • bedConfigs: List of bed Configs. Can be used to have different tiers of Sleeping Bags with different timers
    • name: Name displayed in the Spawn Menu
    • itemnames: List of Sleeping Bag itemnames (not the packed variants). Base classes are accepted so you don't need to add all different color variants
    • timeoutSeconds: Timeout when the player spawned there before spawning there again. All timeouts are saved over relogs and restarts
    • timeoutPlacedDown: Timeout the Bag has when placed down. I would recommend at least the time set in timeoutSeconds to prevent people from packing and placing their bag after spawning there to reduce the timeout
    • killedTimeoutRadius: If the player dies within a distance of x meters from the sleeping bag to his death position, the timeoutSeconds will be triggered
    • itemLimit: Max item count which can be placed from this type. It counts all items in the itemnames list so you can have a setup which allows 2 green bags and 1 blue one or 3 orange ones, but max 3 of all types in total
    • forcePlaceOnGround: Force the bag to be placed on a surface. This will prevent players to place the bag in houses or in their base if set to 1
    • timeoutAllPlacedBags: If set to 1, all bags in this group will have their timeout triggered if the timeoutSeconds is triggered by one bag.

Players/[STEAMID].json
Copy

Config file for each player to save respawn timers over restarts and relogs. It contains a list of all Spawn Points the player has a timeout for. Delete the file to reset all respawn timers. The file will be read when the spawn menu is opened so it can be deleted / edited while the server is running and all changes will take effect
  • name: Name of the Spawn Position. Is the same from the list in the SpawnSelectConfig.json
  • lastSpawn: Unix Timestamp when the player last Spawned at this position
  • bagID: when the entry is a Sleeping bag timeout, it will contain the unique ID of the sleeping bag
  • type: 0 for normal spawns and 1 for sleeping bags

Virtual Garage

Types.xml
Copy

If you want to save the Vehicle Inventory, you need to add a few things to the types.xml of your server. The types.xml is located in your mpmissions/<missionFile>/db/types.xml Content to add:

    <type name="Garage_Item_Storage">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="Garage_Sign_PlayerKit">
        <nominal>0</nominal>
        <lifetime>3600</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>
    <type name="Garage_Sign_Player">
        <nominal>0</nominal>
        <lifetime>3888000</lifetime>
        <restock>0</restock>
        <min>0</min>
        <quantmin>-1</quantmin>
        <quantmax>-1</quantmax>
        <cost>100</cost>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    </type>

config.json
Copy

This is the main config of the Mod. Editing while the Server will not work and your changes might be overwritten by the Server !
  • version: Config Version number
  • logoPath: Path to the custom Logo. Set it to "" to disable it. If the Logo is just a white square, have a look at How to add a Server Logo
  • garageKeys: Change it to match the Vehicle Key Mod you use. 0 = None, 1 = Trader, 2 = Much Car Key, 3 = Expansion, 4 = Custom Mod, 5 = Trader Plus
  • admins: List of Steamids, which are allowed to access the Admin Menu
  • vehicleToSpawnPointDistanceToStore: Distance the Vehicle center must not exceed from the center of the Garage to be parked it
  • currencySuffix: Suffix of your configured currency
  • defaultSlotSize: Each vehicle can occupy a different amount of "Slots". Set the default value here (Some vehicles can have different Slot sizes, like big Helis or Big OP Cars)
  • slotSizeOverwrites: Add vehicle with a different Slot size here:
    • itemname: Name of the Vehicle (can be the base class to include all vehicle colors. Like Truck_01_Base for all M3S color variants
    • slotSize: The desired slot Size
  • enablePrivateGarage: Enable / Disable the Player Garages when implemented. Vehicles in the Garage can be accessed by anybody with access to the Garage Sign
  • maxPrivateGaragesPerPlayer: Limit the amount of private Garages per Player (-1 = no limit)
  • maxPrivateGaragesPerGroup: Limit the amount of private Garages per Group (-1 = no limit) (Advanced Groups only)
  • privateGarageGroupName: Config Group name for the private Player Garage
  • parkAreaIgnoreItems: Objects which are ignored when detected in the spawn area when withdrawing the vehicle
  • currencyValues: Configure your Server currency here. Used for withdraw and deposit cost
    • itemclassname: Item Name of the Currency
    • value: Value of the Curreny. It's multiplied by the quantity the player has in the inventory
  • garageGroups: List of config Groups to allow Admins to setup Heli only or Boat only or Vehicle only or all Vehicles Garages
    • name: Name the config group is identified with. Must be unique !
    • costWithdraw: Money it costs to withdraw a vehicle (will be taken from the Player inventory) (Integration with Enhanced Banking is planned)
    • costDeposit: Money it costs to deposit a vehicle
    • createNewKeyWhenWithdrawing: Create and Pair a new vehicle key in the player inventory when withdrawing the vehicle
    • spawnVehicleLocked: Spawn the vehicle locked to prevent people from stealing vehicles
    • requireKeyToDeposit: Require the player to have the vehicle key (if assigned) to prevent trolls from stealing cars and paking them in their Garage
    • requireKeyToWithdraw: Require the player to have the vehicle key in the inventory in order to withdraw the vehicle
    • deleteKeyWhenDepositing: Delete the key from the player inventory when deposited. Enable createNewKeyWhenWithdrawing to make sure the players always have a key for the vehicle !
    • saveInventory: Save the Inventory of the Vehicle. If you want to save the inventory, make sure you check out the Types.xml section ! The inventory will be saved in an invisible item to ensure the items are saved correctly
    • vehicleWhitelist: Whitelist of vehicle, that can be parked in the Garage. It allowes to use Basclasses like Sedan_02 to allow all color variants to be parked in or even Transport to allow any vehicle to be parked in
    • inventoryItemBlacklist: Blacklist of Items in the vehicle or as attachments, that prevents the player from parking in their vehicle when saveInventory is enabled. Players will be notified, which items to remove. All Items (attachments, inventory, inventory in inventory) will be checked
    • levels: Levels the players can upgrade the Garage slots to. At least one level it required !! All Garages are level 0 by default
      • level: Index ot the level. Make sure you don't skip a number. Start with 0, then 1, then 2, then 3 ...
      • cost: Money it costs to upgrade the Garage (will be taken from the inventory)
      • slots: Slots the Garage has with this level
  • traders: List of all Server Garages (can be placed ingame with the Garage_Sign_AdminSetupKit if you are Admin in the config) They can be configured via the Admin button when opening the Garage ingame:
    • traderItemClassname: Classname of the Garage Sign you want to spawn. Must inherit the Garage_Sign class if you want to use your own Object. NPCs are currently not supported !
    • objectPosition: Position of the Garage Object (x,y,z)
    • objectOrientation: Orientation of the Garage Object (first is left-right rotation)
    • vehicleSpawnPosition: Center position, the vehicle should be spawned at
    • vehicleSpawnOrientation: Orientation the vehicle should be spawned at
    • cameraDistance: Camera distance to the center position
    • cameraRotation: Rotation relative to the vehicle orientation. (use the ingame Admin Panel to configure it, it's much easier)
    • cameraAngle: Angle of the Camera (0 = flat on the ground, 45 = high angle to the vehicle, 90 = from the top of the vehicle)
    • hasGroupGarage: Used when Group Garages are implemented
    • hasPersonalGarage: Not used yet
    • group: Config Group of the Garage

Garages/[ConfigGroup]/[Steamid].json
Copy

This is the Garage File for each player for each Garage Group. All Garage Groups are independend of eachother and the vehicles stored there are different. This file can be edited while the Server is running. The file will be read when the Player opens the garage
  • steamid: Steamid of the Player
  • level: Level of the Garage (see config.json)
  • additionalVehicleCount: Additional Slots the player has + the slots from the level
  • vehicles: List of vehicle in the garage
    • uniqueID: Unique number for each Vehicle in the garage
    • hasKey: Store if the vehicle has a key assigned
    • vehicleKeyHash1 - vehicleKeyHash4: Used to store the Vehicle Key information. Different Key mods make use of the variables differently
    • itemname: Item name of the vehicle
    • fuelAmmount: Absolute Fuel value in the Tank
    • coolantAmmount: Absolute Coolant value in the Vehicle
    • oilAmmount: Absolute Oil in the vehicle (not really used by DayZ atm)
    • brakeAmmount: Absolute Brake fuel in the vehicle (not really used by DayZ atm)
    • engineHealth: Health of the Engine (0 = Ruined, 1.0 = 100% -> Pristine)
    • fuelTankHealth: Health of the Tank (0 = Ruined, 1.0 = 100% -> Pristine)
    • vehicleHealth: Health of the Vehicle Chassis (0 = Ruined, 1.0 = 100% -> Pristine)
    • attachments: Attachments on the Vehicle (not saved in the persistence and could cause issues with modded vehicles)
      • itemname: Itemname of the Attachment
      • health: Health of the Item (0.0 = ruined, 1.0 = 100% -> pristine)
      • quantity: Quantity value of the Item. Used for barrels and other items, that have a quantity value
      • liquidType: Store the liquid Type in the Item (used for barrels)
      • attSlot: slot ID of the attachment to make sure all attachments are attached to the same slot again when restoring the vehicle

Leaderboard

Leaderboardconfig.json
Copy

{
    "version": 1, // Version for internal use
    "leaderboardHostname": "https://lennardboetcher.de:2118/leaderboard", // Hostname of the Leaderboard Bot
    "server_api_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // Your Server ID here (see screenshot)
    "serverName": "SERVERNAME", // Your Servername you received when purchasing the mod
    "discordInviteLink": "", // Set custom DC invite link, which will be opened, when pressing the DC Button on the Leaderboard
    "logoBannerPath": "", // Path to your Logo Banner, which will be displayed at the bottom of the Leaderboard. Either .edds or .paa (Recommended Size: 2400x300px) This must be uploaded to your Serverpack (not the profiles folder)
    "headerBarColorR": 44, // Header Bar color Red
    "headerBarColorG": 136,// Header Bar color Green
    "headerBarColorB": 217,// Header Bar color Blue
    "headerBarColorA": 114,// Header Bar color Alpha
    "sortByStat": "kills", // Change which stat the Leaderboard should be sorted by. Available: kills, deaths, suicides, playtime, longest_kill, longest_shot, kdratio 
    "moreIsBetter": 1, // Change if order is Ascending or Descending (e.g. More kills are better -> 1, less deaths are better -> 0)
    "stats": [ // List of Colums to display on the Leaderboard. "widthPercent" should add up to 1.0 for 100% width
        {
            "displayname": "Rank", // displayname on the Header
            "widthPercent": 0.1, // 10% width of the Leaderboard
            "jsonDataName": "rank" // Field in the Json Leaderboard data. Available: kills, deaths, longest_kill, longest_shot, suicides, playtime, kdratio, environment_deaths, infected_deaths, rank, latest_name
        },
        {
            "displayname": "Playername",
            "widthPercent": 0.45,
            "jsonDataName": "latest_name"
        },
        {
            "displayname": "Kills",
            "widthPercent": 0.15,
            "jsonDataName": "kills"
        }
    ]
}

AFK Kick

AFKKickConfig.json
Copy

This is the Main Config for this mod and has all the things you should need.
  • kickExceptions: List of Steamid, which should not be kicked when AFK (like Admins or Supporters)
  • warningMessagesTime: List of numbers in minutes when the player will be warned. if you put [1,2,3] in there, the player will be warned 1 minute before he is kicked, 2 minutes and 3 minutes before he is kicked. Remove all numbers to disable the warning
  • kickTimeoutMinutes: Time a player must be AFK to be kicked
  • minPositionChange: The distance in meters the player must move to reset the AFK timer. The Position is checked every updatePlayerPosTimerSeconds seconds
  • noticeTitle Title of all Messages sent to the client
  • kickInMessage: Warning messages the player receives in the interval configured in warningMessagesTime. #minutes# will be replaced with the time remaining before he is kicked
  • kickedMessage: Kick Message
  • noLongerAFKMessage: Message when the Player is no longer considered AFK. It will only be sent when the player received at least one Warning Message
  • updatePlayerPosTimerSeconds: Timer to check the current Player position and the last player position and check if the player is AFK
  • logoutTimer: The time the Mod waits before the player is diconnected after sending the Kick Message. Recommend to leave it 5