Config Guide


Show all Mods:

Common

Currencies.json (easy)
Copy

Shared config between all LBmaster Mods for all setting up money items
  • version: Internal Version Tracking (Current Version: 1)
  • currencyPrefix: Some currencies like $ put the symbol before the number. This can be set here
  • currencySuffix: Some currencies like € put the symbol after the number. This can be set here
  • currencyValues: List of items, which can be used as currencies (make sure the Item has a quantity and can be stacked. Otherwise the Item will not be recognized)
    • itemclassname: The Classname (case sensitive) of the Item
    • value: Value one Item is worth (not a whole stack). For example there is a 1 Dollar bill and you can stack them up to 500, then the value is 1 and not 500

Icons.json (easy)
Copy

Icons for messages displayed at the top of the screen
  • version: Version for internal Version tracking (Current Version: 1)
  • error: Icon for error messages, which are caused by the mod being configured wrong
  • warning: Icon for warning messages, which are caused by the player doing something wrong
  • info: Icon for info messages, which are sent when the player is informed about an action he just did
  • applied: Icon for info messages, which are sent when something was saved
  • abort: Icon for info messages, which are sent when something was canceled
  • building: Icon for info messages related to (Base)building actions

Logger.json (easy)
Copy

Config for setting how much information should be logged in the LBmaster Log
  • version: Version for internal Version tracking (Current Version: 1)
  • logLevel: Defines how much information will be logged (0 to 6) (none to everything). (0 = None, 1 = Fatal, 2 = Error, 3 = Admin, 4 = Info (default), 5 = Debug, 6 = Verbose)
  • logFullTimestamp: 0 to only log the time of the Day in the log. 1 to log the full timestamp including the date in the log
  • logFolder: Folder where the LBmaster log will be saved to (default is the profiles folder to allow easy log rotation for the server managers)
  • logToScriptlog: Toggle if the log should be written to the scriptlog too. This does not disable the logging to the LBmaster Log

Webhooks.json (medium)
Copy

Set Webhooks to send certain messages via Discord webhooks to Discord channels (like Ingame chat etc)
  • version: For internal Version Tracking (Current Version: 1)
  • webhooks: List of all Webhooks
    • enabled: Enable / Disable that messages should be sent to the webhook
    • description: Description to keep track of the Webhooks (only visible from the config)
    • webhookURL: URL of the Webhook when copying it from the Discord Channel (https://discord.com/api/webhooks/...)
    • webhookMessages: List of Messages, which should be sent to this webhook. Use the names from below to send only specific messages to have the option for multiple webhooks with different purpose like chat logging and admin logging etc.
  • webhookMessages: List of the raw Webhook messages with placeholders represented as $$x$$ where x is a number. See below for information how to setup the message correctly
    • GlobalChat: Triggered when a chat message is sent to the Global Chat (Advanced Groups integrated Chat).
      • $$1$$ = Player Name
      • $$2$$ = Message
    • GroupChat: Triggered when a chat message is sent to the Global Chat (Advanced Groups integrated Chat).
      • $$1$$ = Group Tag
      • $$2$$ = Player Name
      • $$3$$ = Message
    • GroupDelete: Sent when a Group is deleted (Advanced Groups) (last player left the group).
      • $$1$$ = Group Name
      • $$2$$ = Group Tag
      • $$3$$ = Reason (admin delete, player left, inactive)
    • GroupCreate: Sent when a new Group is created by a player.
      • $$1$$ = Group Name
      • $$2$$ = Group Tag
      • $$3$$ = Steamid of the Player
      • $$4$$ = Name of the Player
    • DirectChat: Triggered when a chat message is sent to the direct Chat (Advanced Groups integrated Chat).
      • $$1$$ = Player Name
      • $$2$$ = Message
For how to create a Discord Webhook message, please check out the Discord Developer API and use a Json Escape Tool to escape the special characters (for example " will become \") Also check the predefined webhooks to see how the formatting works Also use a Json Validator to validate the webhooks.json file and also your webhook to make sure it works properly

LootPreset.json (hard)
Copy

This file defines the Presets for the spawn select mod, which can be added to the layouts either via the config, or the ingame admin menu, which is recommended. Important: Make sure you don't have any circular items in the presets ! Otherwise the Server might end up in an infinite loop when trying to spawn a preset. Example Preset_Weapons_Medium in Preset_Military in Preset_Weapons_Medium
  • base: List of presets, which can contain other presets or items. If you want to spawn items, you need to define a preset in the items list for each Item !
    • presetName: Name of the preset it is referenced by. The name must be unique, otherwise the behaviour is undefined
    • individualChance: If set to 1, the chance for the preset to spawn is defined by chance (0.0 = 0%, 0.5 = 50%, and 1.0 = 100%). If set to 0, the chance is defined by summing up all chances of presets with also have individualChance set to 0 and in the same parent preset. So this basically allows to spawn one of the child presets with the option to have one spawn more often than the other. For example different scopes on weapons, where only one should be spawned, but some should be more common than others
    • chance: explained above
    • items: List of presets, which can spawn within this preset. This will be the parent preset referenced in the individualChance explaination. This contains the presetName of either a basePreset or an itemsPreset
    • root: Set this to 1 if the preset should be visible in the Spawn Select admin menu for adding it to the loadouts list of a spawn to not have too many entries in the list. Some of the Presets will be used as intermediate Presets like Preset_Military_Clothing, which then contains more different clothing presets to allow more precise controll over which items to spawn with their chance
  • items: the List of items, which can have other presets as children to allow either cargo items or attachments or even weapon magazines
    • presetName, individualChance, chance, items: Same as above for the basePresets
    • itemname: The item classname for the item, which should be spawned. E.g TShirt_White, ShortJeans_Red, Apple
    • addToHotbar: If the preset is spawned on a player, the item will be placed in the next free hotbar slot. So make sure the order of the presets has the items first, which should be in the first slots of the hotbar. Useful for weapons, magazines or bandages
    • quantmin: -1.0 to spawn with default quantity. Used for ammo stacks, magazines (also when attached to weapons), bottles, money etc. Otherwise it's 0.0 to 1.0 for 0% and 100% minimum quantity. So this is not an absolute number
    • quantmax: -1.0 to spawn with default quantity. Otherwise it's 0.0 to 1.0 for 0% and 100% maximum quantity. So this is not an absolute number
    • spawnIn: Very powerful option, which defines the location the item is spawned. The following options are available (make sure to use the exact lowercase name !):
      • any: Tries to spawn the item in any location (attachment or cargo where attachment is tried first and then cargo) of the parent item. Useful to have items still spawning in cargo when no attachment slot is free
      • att: Tries to spawn the item as attachment of the parent Item. If it failes, the item is not spawned at all
      • cargo: Tries to spawn the item in the cargo space of the parent item. If it failed, the item is not spawned at all
      • root: Tries to spawn the item like any, but the parent item is the root item the preset is spawned at. For example the player. This is especially useful when wanting to spawn extra mags with weapons in the player inventory. any would try to spawn the item in the cargo of the weapon and it will fail. root will spawn the item in the player inventory instead.
      • hands: Tries to spawn the item in the Hands of the Player when the root entity is a player. If it's not a player or the player already has an item in hands, the item will be spawned like described in any
      • mag: Tries to spawn the item in the magazine slot of the parent weapon. If the parent is not a weapon or already has a magazine, it will fail. Otherwise the weapon will be properly loaded with the mag and can be fired by the player right away. useful to be combined with the parent weapon spawning in hands and magazines in the weapon to give the player a fire ready weapon in hands. If the weapon does not have a magazine, you can also use the ammo stacks to load the internal magazine (addToHotbar and quantity does not apply to the internal magazine spawning)

Advanced Groups

MainConfig.json (easy - medium)
Copy

  • configVersion: Do NOT Touch ! Only for internal Version tracking
  • serverLogoPath: Path to your Server logo. For help with getting the logo to display, refer to The Logo Creator
  • 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
  • tacticalPingMaxConcurrentMarkersPerPlayer: Amount of tactical Pings each player can place. This can be increased per level in the Levels.json
  • 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
  • enableMapLegend: Show the Map legend in the bottom right to make the map less cluttered with markers, which are placed a lot on the map
  • mapLegendTitle: Title which is displayed on the Map Legend
  • mapLegend: List of entries, which will be displayed on the Map Legend. The order will be the same as in this list
    • iconPath: Path to the icon, which is displayed for this entry (Check the availableIcons list for icons you can use)
    • iconColorA: Alpha Color of the Icon
    • iconColorR: Red Color of the Icon
    • iconColorG: Green Color of the Icon
    • iconColorB: Blue Color of the Icon
    • name: Name displayed on the Map Legend
    • nameColorA: Alpha Color of the Text
    • nameColorR: Red Color of the Text
    • nameColorG: Green Color of the Text
    • nameColorB: Blue Color of the Text
  • 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 of the items in the list is needed. Not all together)
  • 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 of the items in the list is needed. Not all together)
  • gpsOnlyInVehicles: Force the GPS only to show if the Player is in a vehicle
  • mapRequireItem: Require the player to have an item in their inventory to see the map. Otherwise the text below is displayed instead of the map and markers cannot be added or removed from the map
  • mapItems: Items that count as a Map (only one of the items in the list is needed. Not all together)
  • mapNotFoundText: Text, which is displayed when mapRequireItem is enabled and the player does not have any of the items listed in mapItems
  • mapNotFoundImage: Path to the image displayed together with the mapNotFoundText
  • 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
    • groupPingsLimitAdded: Added amount of Pings per player since players can set multiple pings
    • groupPlotpolesLimitAdded: If Plotpole DLC is used: Max Count of Plotpoles adding to the base Limit defaultPlotpoleCountPerGroup in PlotpoleConfig.json

Admins.json (medium)
Copy

Each admin will need how own Entry in the admins List ! Do not do something like "steamid": "steamid1","steamid2" ! This will not work
  • 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)
  • forceDisplayGroupTagsInChat: Set to 1 so Group Leaders cannot disable that their Group Tag is hidden in 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
  • circleColorR: Red Color of the Circle
  • circleColorG: Green Color of the Circle
  • circleColorB: Blue Color of the Circle
  • 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
  • circleRadius: Radius of the Marker. The ingame panel also has the option to edit the circle radius
  • circleColorA: Circle Alpha Color
  • circleColorR: Circle Red Color
  • circleColorG: Circle Green Color
  • circleColorB: Circle Blue Color
  • circleStriked: Set to 1 to display the lines inside the circle to fill it partially
  • 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
  • canOpenGroupGarage: Can open the Group Garage when combined with the Virtual Garage Mod
  • 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
    • circleRadius: Not used
    • circleColorA: Not used
    • circleColorR: Not used
    • circleColorG: Not used
    • circleColorB: Not used
    • circleStriked: Not used
    • 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
    • circleRadius: Not used
    • circleColorA: Not used
    • circleColorR: Not used
    • circleColorG: Not used
    • circleColorB: Not used
    • circleStriked: Not used

Timeout.json
Copy

Config that handles the group swap timeouts so player do not swap groups to gain advantages (disabled by default)
  • version: Internal Version handling (Current Version: 0)
  • enableTimeout: Set to 1 to enable the timeouts
  • timeoutDifferentGroupDurationSeconds: Time in seconds a player needs to wait until he can join a different group than his last group (The timer will start when the player joined the first group and not when he left)
  • timeoutSameGroupDurationSeconds: Time in seconds a player needs to wait until he can join the same group he was in before (The timer starts when he joins the first group)
  • players: List of the current timeouts
    • steamid: Steamid of the Player
    • lastGroup: The last group the player was in to track if he joins the same group or a different group and to apply the according timeout set above
    • timeoutStartTimestamp: Unix timestamp when the Player jast joined the lastGroup so players which have been in a group for a long time and want to change the group will not be punished, but players wanting to swap groups all the time will have the timeout

AirdropMarkers.json (easy) (Airdrop upgraded Plugin)
Copy

This config is only available when using the LBmaster_Groups_AirdropUpgraded.pbo from the OptionalContent/Plugins folder
  • version: Tracking of the current Config version (current: 0)
  • enableAirdropMarkers: Toggle if the Markers should be shown
  • updatePositionWhenDropped: Update the position to the exact drop location when it's dropped (Airdrop Upgraded has a radius the crate will be dropped)
  • markerForRandomAirdrop: Add Markers for Airdrops, which spawned random (not player called ones)
  • markerForPlayerCalledAirdrop: Add Markers for Airdrops called by players
  • nameBeforeDrop: Name displayed at the rough drop location before the Airdorp arrived
  • nameAfterDrop: Name displayed after the crate was dropped by the plane
  • icon: Icon of the Marker, that will be displayed
  • markerColorA: Alpha (opacity) of the Marker
  • markerColorR: Red Color of the Marker
  • markerColorG: Green Color of the Marker
  • markerColorB: Blue Color of 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
  • enableLifetimeResetWorkaround: Enables a workaround when Items are not refreshed properly to find all items around the flagpole and individually reset the lifetime of each item to make sure they are all reset to max lifetime
  • flagLifetimeRefreshTime analog to the FlagRefreshFrequency from the globals.xml. The globals.xml value will be ignored. This is the interval in seconds between two lifetime resets. All Objects, which should not despawn must have a lifetime higher than this value
  • flagUptimeDuration analog to the FlagRefreshMaxDuration from the globals.xml. The globals.xml value will be ignored. This is how long the Flag will take from 100% up to completely lowered. When the Flag reaches the lowered state, it will once more refresh the lifetime of the objects near it and then the lifetime of the objects remain until they despawn.
  • 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
  • steamid: Steamid of the Player // Not used anymore ! Just remains for compatibility reasons. Add Admins to the steamids list
  • 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
  • canPlaceATM: Set if the admins should be able to place ATMs from the Admin panel ingame
  • canEditATM: Set if the admins can edit a single ATMs config ingame
  • canResetRobbers: Set if the admins should be able to reset the robbers of the ATM
  • canChangeGlobalRobbingSettings: Set if the admins should be able to change any of the robbing settings from the ATMConfig.json
  • canChangePlayerToPlayerTransfer: Set if the admins should be able to change transfer fees and enable / disable player to player transfer
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. Current Version: 3
  • 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
  • disableToPlayerTransfer: Disable is player to player transfers should be disabled
  • transferFeeBase: Transfer fee for player to player transfers. This value is independent of the amount of money sent
  • transferFeePercent: Additional Transfer fee added to the transferFeeBase depending on the amount of money transfered. The Transfer fee is subtracted from the senders bank account and does not change the transfered money. A value of 2.5 would be 2.5% so transfering 1000$ would cost 25$ + the base fee set above
  • hintRobAmount: Display a small hint to tell the player how much money they can expect from 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 ! Also Admins can place new ATMs ingame and fully configure them ingame, so please use that option instead of manually adjusting the settings here. It will also work without restarting and it will live update all the settings.
  • version: Internal Version number. Current Version: 3
  • 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
  • depositedCashIncreasePerMin: How much the cashDeposited value should increase per minute even though no players deposited money. This will slowly bring money into the economy. This will increase how much money can be robbed when useDepositedCashToCalculateRobbedMoney is set to 1
  • maxMoneyRobbedFromDepositedMoney: This caps the maximum money received from the ATM when using deposited cash to calculate how much money the robber should receive
  • 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. To enable credit cards, which save money and to enable the credit card tab, see CreditCardConfig.json
  • 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
  • ignoreTransferFee: Set to 1 if the player should not pay any transfer fees for transfers from his account. Transfers to his account still cost money
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

CreditCardConfig.json (easy)
Copy

This config manages the Credit Card Options. You can enable the Credit Card Tab on the ATM Menu here.
  • enableCreditCardAccount: Enable credit card tab on the ATM Menu
  • enablePosTerminal: Not implemented yet
  • enableCardPin: Set if credit Cards require a pin to access the money
  • cardPinLength: The max pin length of the credit cards
  • lockCardAfterWrongPins: Lock the credit card after x wrong pin tries
  • lockWrongPins: How often a pin can be entered wrong until the credit card is locked
  • timeLockedMinutes: Time how long a credit card will be locked
  • canSeeBalanceWithoutPin: Set to 1 if the player needs to enter the pin of the credit card to see the Balance of the Credit card or not
  • printCardDupeWarnings: Credit Cards have an unique ID assigned to them, making it useless to dupe them, because the access the same money pool. No money will be duplicated when a credit card item is duplicated. Enabling this option will print a warning if a duped credit card was found
  • defaultCreditCardMaxMoney: Default Max money the credit card can hold when not configured below
  • creditCardConfigs: List of all credit Cards with their maximum money capacity to allow different tiers of credit cards
    • classname: Classname of the Item. It does not allow generic names and it's casesensitive
    • maxmoney: Maximum Money this credit card can hold
  • cardUIDCounterDONOTEDIT: Do not edit this value ! It's used to generate the next Unique ID of a credit card if it's a fresh credit card

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.SetRadius(radius, a,r,g,b, striked); // Add a radius to the Marker. Striked set's the radius to have lines through the circle to color it in
marker.SetRadius(radius, color, striked); // Same as above, but a ARGB(a,r,g,b) color
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. Current Version is 8
  • 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
  • random_spawn_cost_money: If a player uses Spawn Random to spawn at a random spawn and this spawn costs money, then the money will be removed from his account according to how much the spawn would have cost when he spawns there manually
  • 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
  • show_cost_in_spawnmenu: Set to 0 if the spawn cost should not be displayed on the spawn menu. It will also not show when all spawns are for free
  • overwrite_stats_on_spawn: set to 1 to set Player Stats (Water, Food, Health) when player respawns and is in spawn menu. That will also make it work with setups, which don't use the spawn positions or not force the player to spawn at them. It will also be set again when the player spawned at a spawnpoint. This replaces the init.c method most server owners use
  • water_on_spawn: Water Stat when spawned. Vanilla Default: 600
  • food_on_spawn: Foor Stat when spawned. Vanilla Default: 600
  • health_on_spawn: HP (Health) from 0 to 100 (0 is dead). Vanilla Default: 100
  • blood_on_spawn: Blood Level on spawn. Vanilla Default: 5000 (around 3000 is unconscious)
  • 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. The Admin menu can be accessed with CTRL + T
  • 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
    • spawnCost: Hos much money the spawn should cost when a player wants to spawn there. Currently only Enhanced Banking is supported to remove money from the bank when spawing at this position
    • 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
    • spawnAtExactPosition: Spawn the player at the exact position selected randomly from the spawnPositions list to allow players spawning inside of buildings for events and not try to spawn them ontop of buildings / avoid buildings
    • spawnPlayerInAir: Spawns the player x meters above the ground level. Recommended with a parachute mod and loadout, which adds them in the player inventory
    • heightOverGround: The amount of meters the player is spawned above the ground
    • clearInventoryOnSpawn: if set to 1, all items will be removed from the player when spawning at this position (used to strip all clothings from the player when the loadout has clothing)
    • loadouts: List of loadouts, which are added to the player when spawning. All of the Loadouts are going to be spawned
    • 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. Current Version is 5
  • 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
    • spawnCost: How much it should cost to spawn at the location. This will automatically be removed from the Bank account if the Banking mod installed, is supported. Currently only Enhanced Banking is supported
    • 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.
    • timeoutNearBagsDistance: All Bags within the range will be timeouted when a player spawns at another bag. For example a Player has 3 bags in his base, which are close to eachother, all bags in the bag will receive the timeout after spawning at one bag
    • deleteBagAfterUsed: Set to 1 if the Bag should be a single use bag. Stored items in the Bag will be dropped to the ground
    • uncaimOldestBagIfLimitReached: If set to 1, the oldest bag placed (not respawned at) will be removed from the list of claimed bags when a sleeping bag was placed, which would exceed the limit of sleeping bags instead of blocking the player from placing the new bag down

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. Version of this Guide: 12
  • logoPath: Path to the custom Logo. Set it to "" to disable it. For help with getting the logo to display, refer to The Logo Creator
  • 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. If you have a custom mod, you will need an extra addon, which implements the functionality of the other Key Mod.
  • 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. Do not set it to a too high value to prevent people from storing vehicles from too far away.
  • 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)
  • wipeGarageInventories: If set to 1, all Garage Vehicle inventories of the stored vehicles will be cleared. It will be set back to 0 after finishing wiping the inventories. This will clear all items from the Parked vehicles
  • 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
  • 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)
  • maxPrivateGaragesPerFlagpole: Currently not implemented
  • checkLineOfSight: check if the vehicle is in line of sight with the player to prevent people from parking in vehicles through walls and parking them out somewhere else. (This also checks if the Park Area is within line of sight so they cannot move the spawn area somewhere else to circumvent the system)
  • allowPlayerGaragePackWithVehiclesStored: Currently not used
  • privateGaragePinLength: The maximum length of player pins. Setting it to 0 will disable the pin. Also be aware if you had the ping length set to 6 and lower it to 4, all garages with a pin longer than 4 digits, will be pretty much useless since the pin cannot be entered anymore
  • disableDumpButton: Disables the Dump button in the Garage Menu to prevent people from dumping their vehicles (by accident)
  • showSpawnConesAtPublicTraders: If enabled (1), all public garages will always show the spawn area of the Garge
  • parkAreaIgnoreItems: Objects which are ignored when detected in the spawn area when withdrawing the vehicle
  • privateGarages: List of configurations for the private Garages. The default config will only have one entry, but you can add the second player garage by adding a new entry ({...},{...})
    • itemname: Name of the Placed sign, not the kit !
    • notLinkedTraderGroupname: This is the garage Group used when it is not linked to the admin placed garages with linkedToTraderGarages.
    • linkedToTraderGarages: If set to 0, the garage, will result in the vehicles being shared for all players. So the garage is not a personal garage, but all players see the same vehicles in the garage. This is the default behaviour. Setting it to 1, will make the garage behave like an access point to the admin placed garages. They will also be linked between other garages of the same type. Also linkedPersonalTraderGroupname and linkedGroupTraderGroupname will apply then instead of notLinkedTraderGroupname
    • linkedPersonalTraderGroupname: The name of the garage group for the Personal Garage when linkedToTraderGarages is enabled. Otherwise it's ignored
    • linkedGroupTraderGroupname: The name of the garage group for the Group Garage when linkedToTraderGarages is enabled. Otherwise it's ignored. Group Garages are only available together with Advanced Groups
  • 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
    • canRepairVehicle: Enable / Disable if vehicles in the garage should be repairable (this will only repair the engine)
    • baseVehicleRepairCost: Cost to repair vehicles engine. This can be multiplied by an individual multiplier later. All Vehicles will have a multiplier of 1.0 currently
    • singleAttachmentRepairCost: Cost for each damaged attachment when repairing attachments
    • canRepairVehicleAttachments: Enable / Disable if vehicle attachments should be repairable (This will filter for vehicle related attachments only like Doors, Wheels etc. Weapons or Barrels attached will be ignored to prevent exploiting the system)
    • canRefuelVehicle: Enable / Disable if vehicles can be refueld in the garage and also controlls if the coolant can be refilled
    • fuelCostPerLiter: Cost for 1 Liter of Gasoline
    • waterCoolantCostPerLiter: Cost of coolant per Liter
    • 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. This also applies to Helis and Boats since they also inherit from Transport
    • 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)
    • blackboxPreview: Enable if the vehicle should be shown in a "blackbox" instead of showing it at the spawn position (Player placed Garages will always use the blackbox to prevent players from exploiting the camera to view through walls)
    • personalTraderGroupname: Name of the Garage Group for the Personal Garage. Settingit to "" will disable the personal Garage
    • groupTraderGroupname: Name of the Garage Group for the Personal Garage. Settingit to "" will disable the personal Garage. This requires Advanced Groups to work and players need to be in a group to access it

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
    • infinite: Set this to 1 if the vehicle can be parked out, but not removed from the garage. Useful if you have a RP Server and this vehicle is a police vehicle, which can be retrived from the Police 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

This is the Main Config for the Leaderboard
  • version: Internal Version tracking to automatically upgrade the config to the new Version if available
  • leaderboardHostname: Always leave at https://lennardboetcher.de:2118/leaderboard
  • server_api_id: Your CF Cloud Server ID. It's not the API Key. The Server ID is in a format like xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Check Where is the Server ID for the Config ? for how to find the Server ID
  • serverName: Must excatly match the Name on the Customer Panel for the Leaderboard
  • discordInviteLink: A Link to your Discord, which will be opened when the Player Klicks on the Discord Logo on the Leaderboard. Having it set to "" will hide the Discord Join Button
  • 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)
  • headerBarColor: R,G,B,A Color Channels for changing the color of the Header Bar
  • sortByStat: Change which stat the Leaderboard should be sorted by. Available: kills, deaths, suicides, playtime, longest_kill, longest_shot, kdratio
  • moreIsBetter: Change how to sort by the stat selected in sortByStat. For example more kills is usualy better so you set it to 1, but less deaths is usualy better, so you set it to 0
  • stats: List of Stats, which should be displayed on the Leaderboard. Make sure the widthPercent adds up to maximum 1.0 (100%) otherwise columns to the right could be cut off
    • displayname: The Text, which will be displayed in the Header row
    • widthPercent: Width of the Colum as float. 0.1 will be equal to 10% and 0.4 is 40%
    • jsonDataName: Field from the Raw Leaderboard Data received by the Leaderboard Bot. Available: kills, deaths, longest_kill, longest_shot, suicides, playtime, kdratio, environment_deaths, infected_deaths, rank, latest_name

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
  • minPlayersBeforeKickActive: option to disable the kick check unless the player count is reached to only kick when server is (nearly) full. This is an absolute number so if you have a 60 Slot Server, setting it to around 50 would be recommended if you don't want to kick players when the server has less players