Config Guide


All Mod Configs and Data is stored inside the profiles/LBmaster folder.
The name of the profiles folder might vary depending on the server host you use.
Here you find all configs and data files explained for all of my Mods.

folderConfig

folderAFKKick

folderAFKKickConfig.json (easy)
Copy

  • 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 displayed when a player was kicked
  • 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

folderCommon

folderAdmins.json (easy - medium)
Copy

This file is used to define the admins for all LBmaster mods. After adding your Steamid to the file, you can enable Admin mode by pressing U This enabled some interaction options to configure items like ATMs or Garages To access the Admin Menu, you need to have admin mode enabled and press I These are the default buttons used, which can be changed in the DayZ Controls
  • admins: List of Admins. Each admin needs their own Entry ({... steamid ...})
    • steamid: The steamid of this admin. Remeber that there can only be one admin per {... steamid ...}. Each other Admin will need their own entry with steamid, comment, ...
    • ingameNameForPermissions: if set to "" the Admin can join with any name to receive their admin permissions. If set to any value like "Peter", the Player needs to join with the ingame name Peter to have admin permissions, otherwise he will be treated as a normal player
    • comment: Comment field to remember which admin it is, because Steamids are hard to recognize
    • grantAllPermissions: Set to 1 to give the Admin all available permissions regardless of their permissionGroups
    • permissionGroups: Permission Groups the admin is associated with. An Admin can be in multiple groups at the same time. There are 4 default groups, but you can add them yourself by adding a new entry in the groups list below. The name of that group must exactly match the entry in the list
  • groups: List of different Permission Groups / Ranks (Owner / Admin / Moderator / Supporter etc.)
    • name: Name of the permission group
    • permissions: List of granted permissions ("name.of.the.permission": 1) for granting permissions or ("name.of.the.permission": 0) for explicitly revoking a permission, but it's not necessary since all permissions are revoked by default

folderAppearance.json (easy)
Copy

This file contains the path to your logo, which will be displayed on some mod menus. The default path is set to LB_Server_Logo/gui/images/logo.paa A PBO with the logo inside at this location can easily be generated via The Logo Generator Follow the instructions there to generate the PBO
  • logoPath: Path to the logo displayed in some mod menus. Currently only used by Advanced Groups and Virtual Garage.

folderCurrencies.json (easy)
Copy

Shared config between all LBmaster Mods for all setting up money items
  • thousandsSeparator: String printed every thousands value. Can be empty to only display the number. Some countryies use a dot or a comma as the seperator between each thousand value
  • 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
    • depositableOnly: Set if the currency can only be deposited, for example to deposit something like Gold Bars at the ATM, but don't give them back when withdrawing money

folderIcons.json (easy)
Copy

Icons for messages displayed at the top of the screen
  • error: Icon for Messages, which should not appear for the normal Player, only if something is not configured properly
  • warning: Icon for Messages, which warn the player about something they are doing wrong
  • info: Icon for Messages, which inform the player about something worked
  • applied: Mostly used for Server config changes being saved
  • abort: Icon for info messages, which are sent when something was canceled
  • building: Icon for info messages related to (Base)building actions

folderLogger.json (easy)
Copy

This file contains the setting for what messages should be logged and where they should be written to
  • 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

folderLootPresets.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: 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
    • 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)

folderWebhooks.json (medium)
Copy

  • 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.
    • overwrittenMessages: overwrite any message for example to not include any information, which should not be visible for public channels. An Entry will have the same structure like one entry in the webhookMessages list
  • 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.\nA complete list of all webhooks can be found Here

folderItemRestrictions

folderGeneralConfig.json (easy)
Copy

This file contains basic settings for the Enhanced Item Restrictions mod
  • showRestrictionsOnGroupMapMenu: Enable (1) / Disable (0) if the Group and Player restrictions should have their own Tab in the Advanced Groups Map Menu. (There is currently no other way to view the restrictions other than this menu)
  • showMapInRestrictionMenu: Enable (1) / Disable (0) if a map with the positions of the placed items should be shown on the restrictions menu
  • showPlayerPositionInRestrictionMenu: Enable (1) / Disable (0) if the current player position should be shown on the resitrctions menu. The menu will auto center on the players position if enabled. If disabled, it will take the first item it can find and center on that
  • canSeePlacedItemsMarkersOnPanelMap: Enable (1) / Disable (0) if the items placed down should be visible on the map
  • useMemberCountAsGroupLevel: Enable (1) / Disable (0) if the levels for the group restrictions should be the level of the group, or the member count. Be aware, that group levels start at 0, which is the first entry in the levels list of the restriction entry. Member counts will start at 1 member, because groups with 0 members don't make any sense and will be deleted anyways. If you enable it and use the member count as levels, then you might want to add a placeholder level at the beginning
  • disabledCraftingRecipes: List of Classnames for Craftig Recipes

folderGroupRestrictions.json (easy)
Copy

This file manages all Restrictions for Groups. Currently only Advanced Groups is supported.
  • enabled: Enable / Disable the whole restriction file
  • restrictions: List of all restrictions, which should apply to the Player, Group or Plotpole
    • displayName: Name displayed in the menu of the Player
    • kitItemNames: List of Items, which should initiate the counting of objects when they are placed down
    • countItemNames: List of Items, which are actually counted. Some items like the FenceKit would transform into a different item (Fence) after placing. Having items like Tents, which do not transform into a different item, but only change their state would need to be added to both list in order to work
    • limits: A list of limits, which allows a leveling system. This is not a list for each individual item in the countItemNames list, but a limit of the total over all items found by this group. Each entry here is for one level. The first entry is level 0 and is required in order for the limits to work. Some mods like Advanced Groups already have a level system built in, which can be used here to increase the limits of groups based on their group level. Some plotpole mods might have that functionality and would need to overwrite the int LBGetLevel() {} method in their plotpole class. This also works for players with the same method if you have some kind of Player Leveling system
    • isAttachment: Specify if the entry should look for attachments (1) or the default option, ground items (0). Attachments could be something like CombinationLock to limit how many locks players can put on their fences.
    • showOnMap: Enable if placed items should be shown on the limits map of the player
    • show3D: Enable if placed items are displayed with a 3D Marker when the player enters the display 3d items mode

folderPlayerRestrictions.json (easy)
Copy

This file manages all Restrictions for Players.
  • enabled: Enable / Disable the whole restriction file
  • restrictions: List of all restrictions, which should apply to the Player, Group or Plotpole
    • displayName: Name displayed in the menu of the Player
    • kitItemNames: List of Items, which should initiate the counting of objects when they are placed down
    • countItemNames: List of Items, which are actually counted. Some items like the FenceKit would transform into a different item (Fence) after placing. Having items like Tents, which do not transform into a different item, but only change their state would need to be added to both list in order to work
    • limits: A list of limits, which allows a leveling system. This is not a list for each individual item in the countItemNames list, but a limit of the total over all items found by this group. Each entry here is for one level. The first entry is level 0 and is required in order for the limits to work. Some mods like Advanced Groups already have a level system built in, which can be used here to increase the limits of groups based on their group level. Some plotpole mods might have that functionality and would need to overwrite the int LBGetLevel() {} method in their plotpole class. This also works for players with the same method if you have some kind of Player Leveling system
    • isAttachment: Specify if the entry should look for attachments (1) or the default option, ground items (0). Attachments could be something like CombinationLock to limit how many locks players can put on their fences.
    • showOnMap: Enable if placed items should be shown on the limits map of the player
    • show3D: Enable if placed items are displayed with a 3D Marker when the player enters the display 3d items mode

folderPlotpoleRestrictions.json (medium)
Copy

This file manages all Restrictions for Plotpoles.
  • enabled: Enable / Disable the whole restriction file
  • restrictions: List of all restrictions, which should apply to the Player, Group or Plotpole
    • displayName: Name displayed in the menu of the Player
    • kitItemNames: List of Items, which should initiate the counting of objects when they are placed down
    • countItemNames: List of Items, which are actually counted. Some items like the FenceKit would transform into a different item (Fence) after placing. Having items like Tents, which do not transform into a different item, but only change their state would need to be added to both list in order to work
    • limits: A list of limits, which allows a leveling system. This is not a list for each individual item in the countItemNames list, but a limit of the total over all items found by this group. Each entry here is for one level. The first entry is level 0 and is required in order for the limits to work. Some mods like Advanced Groups already have a level system built in, which can be used here to increase the limits of groups based on their group level. Some plotpole mods might have that functionality and would need to overwrite the int LBGetLevel() {} method in their plotpole class. This also works for players with the same method if you have some kind of Player Leveling system
    • isAttachment: Specify if the entry should look for attachments (1) or the default option, ground items (0). Attachments could be something like CombinationLock to limit how many locks players can put on their fences.
    • showOnMap: Enable if placed items should be shown on the limits map of the player
    • show3D: Enable if placed items are displayed with a 3D Marker when the player enters the display 3d items mode
  • plotpoles: List of all plotpole items with their radius settings, which should match the real plotpole radius. Since there are a lot of plotpole mods, which I would need to support, you just need to add your plotpole itemname and radius in the list and it should work just fine
    • radius: Set the radius of the Flag
    • radiusShape: can be either set to 0 for SPHERE Mode. This will take the radius and calculate all distances to check if an item is inside the radius in a 3D Sphere. Setting this option to 1 will change the Shape to a CYLINDER. This means the radius is used for X and Z calculations in a circle around the flag and the cylinderUp limits the height up and cylinderDown will limits the height down
    • cylinderUp: when Radius Shape is set to 1, which will determine the height of the Cylinder shape
    • cylinderDown: when Radius Shape is set to 1, which will determine the depth of the Cylinder shape
    • plotpoleItemnames: List of itemnames, which are used as Plotpoles. You can have multiple different plotpoles with different radius by adding more of these entries to the list

folderKillfeed

folderconfig.json (medium)
Copy

Main Killfeed Config to change what info is shown where All settings can be changed ingame through the admin menu
  • displayGraphicalMessage: Enable if the graphical ingame messages should be shown
  • displayChatMessage: Enable if an ingame chat message should be shown as the killfeed
  • displayKillDistance: Enable if the distance should be shown on the graphical messages
  • displayGroupTag: Enable if group tags should be shown on the graphical messages (currently only Advanced Groups is supported)
  • displayPlayerTag: Enable if custom player tags should be shown on the graphical message. Currently only chat prefixes from Advanced Groups Chat system are supported
  • displayWeaponDisplayname: Enable if the Weapon name should be shown beneath the item on the graphical messages
  • displayWeaponItem: Enable if the weapon used to kill a player should be displayed as the exact item or only as a the same weapon icon for all weapons
  • teamkillPunishment: Punishment type for teamkills (Only Advanced Groups). 1 = NONE, 2 = Ingame annoucement, 4 = Reset killstreak, 8 = Subtract one kill from killstreak, 16 = don't count the kill. These can be combined (for example 2 + 4 = 6 would be Ingame annoucement AND Reset killstreak)
  • displayWeaponSoundIndicator: Display an indicator on the graphical killfeed message telling how loud the weapon used was. Possible indicators are muted (only when suppressed), quiet, medium and loud.
  • messageReceiveProximity: maximum distance a killfeed message is displayed. This is calculated from the killer and victim. So being within 100m of the victim or killer would mean you receive the message when this value is set to 100. Set to -1 to disable the check
  • sendMessageToGroupMembersOnly: Toggle if Killfeed Messages (Chat and Graphical) should only be received by Group members of both the killer group and the victim group
  • displayKillstreak: Display killstreaks on the graphical messages
  • killStreakDisplayThreshold: Minimum killstreak to be displayed. Set to 5 to start displaying killstreaks when at least 5 players were killed. A killstreak of 4 players would not be displayed.
  • annouceKillStreak: Enable if killstreaks should be announced through the notification system of DayZ. The first annouced killstreak will be the one with killStreakDisplayThreshold kills
  • nextKillstreakAnnoucement: Determines how many kills it takes to be annouced ingame again. So when killStreakDisplayThreshold is set to 5 and nextKillstreakAnnoucement to 10, then killstreaks of 5, 15, 25, 35,... would be annouced.
  • resetKillstreaksOnRestart: Enable if killstreaks should be cleared after server restart or should be saved persistently
  • ignoreBotKills: Enable if kills involving bots should not count and be displayed in the killfeed.
  • ignoreBotKillsWebhooks: Enable if webhooks should ignore bot kills (0). If you want to have bot kills displayed even though ignoreBotKills is enabled, set this option to 0
  • showBotName: Uses the SurvivorF_{NAME} or SurvivorM_{NAME} for the name of the killfeed displayed as "BOT ({name})" in the message.
  • anonymizeKiller: Enable if killstreaks should be cleared after server restart or should be saved persistently
  • anonymizeVictim: Same as anonymizeKiller, but for the victim
  • colorVictim: Default color of the graphical message victim name
  • colorKiller: Default color of the graphical message victim name
  • overwriteColorsWithGroupTagColors: Default color of the graphical message victim name
  • messages: Enable / Disable all different kill types. This only applies to the Graphical Messages and Chat messages and the Kill_ANY and Kill_ANY_PLAYER Webhook. All other Discord webhooks all have their own one for each type. Available types: BLEEDING, VEHICLE, HANDS, UNKNOWN, SUICIDE, FALL, ANIMAL, ZOMBIE, GRENADE, MELEE, TRAP, DROWNING, WEAPON, STARVATION
  • messageDisplayDurationSeconds: Time in seconds the graphical messages should be displayed
  • messageDisplayDelaySeconds: Time in seconds how long a kill message should be delayed. This is for Graphical messages, chat and discord webhooks. If messages are in the queue for being sent will be stored in a temporary file to restore them after server restart. Delayed messages should not get lost

folderplayercolors.json (easy)
Copy

This file allows you to change the color of the killfeed entry for specific players. The file is only read on server startup, so it will not apply until restart, but it' also not overwritten by the server
  • steamid: Steamid of the Player
  • r: Color Red
  • g: Color Green
  • b: Color Blue

folderLBBanking

folderATMConfig.json (medium)
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 !
  • importFromTraderPlusBanking: Set to 1 to migrate all Player Data from the Trader Plus ATM to this format. Make sure to disable the other banking properly before importing the data. After the import finished, the value will be reset to 0 automatically
  • personalATMAccountEnabled: Enable the personal Bank account
  • personalATMAccountMaxMoney: Max Money a player can have on his personal account. You can edit the players json file and give him an additional max money bonus
  • personalATMStartMoney: Start Money the Player has when first joining the server. Players do not need to open the ATM to get it
  • 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: Change if player to player transfers should be disabled
  • obfuscatePlayerNames: Obfuscate the Player names in the Transfer menu to stop players abusing it. They will be the same like for Advanced Groups
  • 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
  • timeoutAllGroupMembers: When using Advanced Groups, all Group members are treated like they just started robbing this ATM, to the same timeouts apply to prevent groups from robbing an ATM over and over again
  • 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
  • robbingReminderFrequencyMinutes: Time in minutes when the Reminder Message is sent to remind people, that this ATM is currently being robbed
  • robbingReminderNotificationMessage: Message when the Reminder Frequency timeout ran out to let people know, that an ATM is currently robbed. Useful for players just joined or to draw more attention to the event and make it more difficult for the robbers, because they get more attention and possible enemies trying to kill them
  • 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
  • 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

folderATMPositions.json (medium)
Copy

  • version: Version of this Config entry to allow a smooth upgrade process if options changed. Do not edit!
  • classname: Item classname
  • position: Position of the object
  • orientation: Orientation of the object
  • robPosition: Position String which will be replaced by $ATM_POSITION$ in robMessage
  • canDepositMoney: Enable if players should be able to deposit money at this ATM.
  • canWithdrawMoney: Enable if players should be able to withdraw money at this ATM. Disabling both options will block the user from accessing the ATM menu and the ATM can only be used for things like robbing. So you can have ATMs around the Map, which are only for special events like robbing them
  • maxRobbingDistance: Max Distance the Player can have to the ATM while robbing it
  • spawnChance: Chance from (0.0 = 0% to 1.0 = 100%) to spawn this ATM on server start. Can be used to spawn ATMs only with a random chance around the map, so players might have to search for an ATM to deposit their money or to rob it.
  • canBeRobbed: Define if ATM can be robbed by players
  • spawnRobbedMoneyAtATM: Either spawn the robbed money at the ATM (1) or at the robbing player (0)
  • robbingConfig: Each of the entries describes how the ATM can be robbed. Different items used can have different robbing times
    • requiredRobbingItem: The item used to rob the ATM. An empty String means the bare hands. So players don't need a specific Item to Rob an ATM. Hands will always have the lowest priority, so having two config entries with one hands, and one crowbar, then the crowbar will be preferred, but players can still use their hands. Could be used to allow everyone to rob an ATM, but give players with a rare item a time advantage
    • robbingItemDamage: The Damage the item in hands used to rob the ATM gets. This is not in Percent, these are the HP of the item. Doesn't do anything when the items are the Hands
    • robbingTimeMinutes: The time it takes in minutes until this ATM is successfully robbed.
  • minutesLockedAfterRobbing: Time this ATM cannot be accessed after being robbed
  • minutesNotRobbableAfterRobbing: Time the ATM cannot be robbed again by any player
  • minutesRobberNeedsToWaitBeforeRobbingAgain: Time a player needs to wait until he can rob the ATM again
  • lastLockedTimestamp: Time when the ATM was lastLocked UTC Timestamp
  • lastRobTime: Saves when the ATM was last Robbed
  • useDepositedCashToCalculateRobbedMoney: Change robbed money calculation model
  • cashDeposited: Saves how much money was deposited here minus the withdrawn money
  • depositedCashIncreasePerMin: Static Money added to cashdeposited every minute to make less used ATMs more profitable
  • robbedDepositedCashPercent: Amount of money robbed from the deposited Cash. Will be removed after robbing
  • maxMoneyRobbedFromDepositedMoney: Cap the Maximum money robbed when using dynamic calculation
  • staticMinRobbedCash: When useDepositedCash false, then get at least 10000 Money
  • staticMaxRobbedCash: When useDepositedCash false, then get at max 20000 Money
  • needCreditCard: Set if this ATM needs a credit card to access
  • lastRobbers: Saves the last robbers of the ATM
    • steamid: Steamid of the robber
    • name: Name of the Robber
    • lastTime: Unix Timestamp when he last robbed this ATM

folderCreditCardConfig.json (easy)
Copy

  • 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

folderLBGarage

folderconfig.json (medium)
Copy

This is the Main config for the Virtual Garage mod. You can change various different things here:
  • Setup a limit of garages
  • Setup which vehicle key mod you use to not loose keys when parking in and out a vehicle
  • Different Sizes for vehicles in the garage to have big vehicles take up more space
  • Hacking of private garages
  • Linking Player garages and Garages at Traders
  • Placing garages at Traders
  • Change the config of each of the garages
  • garageKeys: Will be removed in future versions, but still needed to properly restore vehicles saved with the old storage system. 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.
  • 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)
  • 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)
  • 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)
  • maxSpawnAreaDistanceFromPlayerGarage: Maximum Distance in Meter players are allowed to place down the spawn area away from the garage sign.
  • allowPlayerGaragePackWithVehiclesStored: Player garages linked to other garage can always be packed with vehicles inside, but normal garage not
  • 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. This needs to be enabled for Garage hacking to be active
  • healthDamageOnWrongPinEntered: When a player tries to bruteforce the pin of a garage, he will be damaged the specified amount of HP each time he enteres the wrong pin starting after startHealthDamageAfterXWrongTries wrong tries. The player has 100HP max
  • startHealthDamageAfterXWrongTries: How many wrong tries a player must have before he is damaged
  • enablePrivateGarageHacking: Toggle if player placed garages can be hacked. This also works with Player garages, that are linked to trader garages. The garage will keep track of which vehicles were stored at a certain private garage and will pick a random vehicle when hacked. This also requires privateGaragePinLength set to something higher than 0
  • maxVehiclesRevealedAfterHacking: Max amount of vehicles, that can be revealed after finishing hacking the garage
  • minVehiclesRevealedAfterHacking: Min amount of vehicles guaranteed to be revealed after hacking the garage
  • hackingDurationSeconds: Time in seconds it takes until a garage was hacked successfully. This is a continuous action, so the player will be blocked the whole time and cannot defend himself
  • hackingStartMessage: Ingame Notification sent to everyone when a player starts hacking the garage. $player$ will be replaced by the player name, $x$, $y$, $z$ will be replaced with the coordinates, $time$ will be replaced with the time it takes until the hacking will be finished
  • hackingSuccessMessage: Message sent to everyone online when the garage was hacked successfully. Same placeholders as above apply, except for the $time$
  • hackingAbortMessage: Message sent to everyone online, when the player aborts hacking (e.g. Action canceled or player died)
  • removeVehicleLockAfterBeingHacked: Remove the lock attached to the vehicle when it's hacked, so people don't have to hack the vehicle again after parking it out
  • markHackerPositionOnMap: Set to 1 to mark the position of the hacker on the map (currently only Advanced Groups is supported)
  • abortHackingWhenNoVehiclesLeft: Set to 1 to cancel the hacking immediately when no vehicles are in the garage, that can be hacked
  • chanceToRevealNextVehicle: Chance to reveal a vehicle after hacking finished successfully. The chance is for every next vehicle. That means if you did not get the first vehicle, you also don't get the chance for a second vehicle. And it's capped at the max anyways. So for example 50% for 1 vehicle, but then another 50% for the second vehicle, which makes it 25% for two vehicles effectively. Because when the first 50% fail, you cannot get the seconds vehicle
  • itemDamageAfterHacking: Damage the item used for hacking after a successfull hack. The Hacking Terminal added with the Garage Mod, has 100HP
  • 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. When you have two garages with a different garage group, they will also have completely different vehicles stored inside
    • 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) (When Enhanced Banking is installed, the money will be taken from the players atm)
    • 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
    • requireVehicleLockedToStore: Require if a vehicle must have a lock to be stored. Vehicles, that don't have a lock cannot be stored
    • 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 !
    • forceKeyAssignedToParkIn: If enabled, vehicles need a car lock assigned before they can be parked in at the garage. Depending on the car lock mod you use, this may not work when there is no way to determine if the car has a lock assigned, but most mods support that
    • saveInventory: Save the Inventory of the Vehicle when parked in
    • canBuyVehiclesAtAdminPlaced: Enable this option to allow players to buy vehicles on an admin placed garage of this group. This only allowes the player to buy vehicles added to the whitelist of this group
    • canBuyVehiclesAtPlayerPlaced: Enable this option to allow players to buy vehicles on a player placed garage of this group. This only allowes the player to buy vehicles added to the whitelist of this group
    • canSellVehiclesAtPlayerPlaced: Enable this option to allow players to sell vehicles on a player placed garage of this group. This allowes the player to sell any vehicle inside their garage
    • canSellVehiclesAtAdminPlaced: Enable this option to allow players to sell vehicles on an admin placed garage of this group. This allowes the player to sell any vehicle inside their garage
    • addKeyToBoughtVehicle: Enable if a key lock should automatically be added to the vehicle when bought. If you enable this option, one key will always be spawned when the player first withdraws the vehicle, so enabling spawnVehicleLocked will work just fine
    • canRepaintVehicles: Enable this option to allow players to repaint their vehicle to other colors. Check the vehicles.json to see how the colors work.
    • 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)
    • canRepairRuinedAttachments: Enable to allow players to also repair attachments, that were ruined. Wheels will also be replaced by the non destroyed item variant
    • 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:

foldervehicles.json (easy)
Copy

This file contains information about all vehicles on your server and will generate new entries when new vehicles are found. This file is used to control which items are spawned when buying a vehicle, the cost of each vehicle and how much it costs to repaint it. It also contains sell Prices when players want to sell vehicle. To make buying vehicles work, check the canBuyVehiclesAtAdminPlaced and canBuyVehiclesAtPlayerPlaced parameters in the config.json To make selling vehicles work, check the canSellVehiclesAtPlayerPlaced and canSellVehiclesAtAdminPlaced parameters in the config.json
  • vehicles: A list of all vehicles on the server with their color and various costs
    • itemname: Classname of the vehicle
    • buyCost: Price of the vehicle including all attachments set in the config. The currency is setup in the currencies.json
    • sellPrice: Price of the vehicle body when selling it. This does not check for the existence of the attachments ! Make sure the sell price + the sell price of all attachments at any trader does not exceed the buy price. Otherwise players can buy vehicles, disassemble the whole vehicle, sell all attachments and then sell the vehicle again and make profit
    • repaintCost: Cost of repainting a vehicle of the same type to this color. For example a white sedan can be painted wine red, then it costs the repaintCost of the new color to repaint it to this color
    • color: Displayname of the color shown in the menu
    • attachments: List of itemnames spawned as attachments when buying this vehicle

folderLBGroup

folderAirdropMarkers.json (easy)
Copy

  • 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

folderAutoMarker.json (Hard)
Copy

This config is used to automatically add markers to the map, whithout having to do any scripting work This can be used for marking vanilla Helicrahes or different things. An example on how you would mark helicrashes is included in the default config This can also be used to track players in vehicles in a car race Be aware, that all markers will be STATIC_DYNAMIC markers. So they will be visible for all players and will be deleted when the object they belog to is deleted or when the server restarts New markers are created when the server starts and also when new objects are created. For example a helicrash spawns, then the marker will be added. When it despawns, then the marker will be deleted again This can also be used to mark things like Traders on the map
  • enabled: Enable / disable the whole system
  • automaticMarkers: List of markers you want to have added to the map automatically
    • itemnames: List of itemnames, which should automatically have a marker attached
    • markerIcon: Icon path of the marker. You can use custom files as long as the path is correct and they exist or use one from the list in the Mainconfig.json
    • markerName: Display Name of the Marker. This can have several Placeholders: {displayName} will be replaced with the Display Name of the Item the marker is attached to. {rootDisplayName} will look for the root owner of the item (for example a player, who has the item in his inventory) or it will be the same as {displayName} if there is no item higher up the hierarchy. You can also let it execute a whole script function, which must return a string. This function must exist in the script Class of this entity ! Otherwise it will not work and could lead to crashes ! {TheFunctionName()} would call a function string TheFunctionName() {return "My cool string";}. This function must not be static or private and must exist in the Class of the entity where the marker is added to
    • yOffset: Additional height offset from the origin of the Item. Some items have a very low center. You can add an additional Y-Offset here to place the marker a bit higher (only relevant if you use 3D Markers)
    • updateInvervalSeconds: If set to a value greater than 0, the position of all markers of this category will be updated each x seconds. By default markers are not updated after they were initially placed. If you want them to update, then you need to define an interval here. This would be used for something like a car race. Heli Crashes do not need to be updated, because they will stay at the same position the whole time
    • display3D: Enable / Disable 3D Markers for this Auto Marker
    • displayMap: Enable / Disable if the marker should be shown on the map
    • displayGPS: Enable / Disable if the marker should be shown on the GPS
    • markerColorFunction: Similar to the placeholders in the markerName, you can define a custom function, which should be called to get the color of the marker. If left blank (""), then markerColor is used as a static color, which should be enough for most use cases. If you want the color to change, you first need to have an updateInvervalSeconds set. Otherwise it will never check if the color should be updated. And you also need to put a function name in here, which exists in the Class of the entity the marker is added to. Make sure to not have () at the end ! Only use the function name ! The function must return an ARGB int value. so for example int GetMyColor() {return ARGB(255,255,255,255);} would return a white color all the time. You then need to have "GetMyColor" as the value of this parameter
    • markerColor: Default color of the Marker and Icon when no markerColorFunction is set
    • markerRadiusFunction: Same as the markerColorFunction, but now it must return a float
    • radius: default radius of the marker
    • radiusColorFunction: Same as the markerColorFunction, but now for the color of the radius
    • radiusColor: Color of the outer edge of the radius
    • strikedRadius: Enable / disable the striked style of the inner part of radius
    • showOnlyInsideStaticMarkerRadius: If enabled, markers will only be added to items which are inside static markers with a radius (markers added to the staticmarkers.json). This can be useful to mark all Traders or ATMs, but only the ones in the safezones and maybe not the ones hidden on the map

folderChatConfig.json (medium)
Copy

  • 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)
    • canReceiveMessagesFromPlayers: Enable / Disable if any player can write in this channel or the channel should be used by a mod and messages can only be sent via script
    • writeChannelPermission: Permission needed to write in this channel. Empty string = everyone can write
    • readChannelPermission: Permission needed to read this channel. Empty string = everyone can read
    • 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
    • slowModeSecondsBetweenMessages: Time players need to wait to send another message
    • muted: When set to 1, this channel is currently muted and only admins can write in the channel
  • 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
    • permissionToApplyGroup: Permission, which can be added to the Admins.json to automatically assign this prefix for that admin
  • 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

folderClanClothing.json (hard)
Copy

This file contains the config for the Clan Clothing. You can have one entry for each item, which will automatically be retextured when worn by a player You can already do a lot with this feature, but if you want to have more than one texture per item or more control over who can use which retexture, you can buy the Skin System mod from my website
  • 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"
      ]

folderDynamicHelicrashMarker.json (easy)
Copy

  • enabled: Enable markers or disable them completely
  • markerName: Name of the marker placed for helicrashes
  • markerIcon: Icon of the marker
  • markerColorA: Alpha (opacity) Color of the Marker
  • markerColorR: Red Color of the Marker
  • markerColorG: Green Color of the Marker
  • markerColorB: Blue Color of the Marker

folderLevels.json (easy)
Copy

This file contains all possible group levels. The levels must start at 0 and must not have any gaps ! So after level 0 is level 1, then 2, then 3. If you remove level 2, then groups cannot be upgraded to level 3 anymore, because level 2 does not exist ! You could abuse this system to add an unreachable level and set that level for your Admins group to have higher limits, that normal groups.
  • 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

folderMainConfig.json (medium)
Copy

  • canSeeOwnPlayerOnMap: enable / disable if players should be able to see their own position on the map
  • 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
  • inviteActionEnabled: When enabled, players can only use the ingame action to invite people and cannot see the list of players to invite them on the map menu. If you don't see the list of online players on the Group manage page, but you want to have it, disable this option
  • inviteActionShowName: Show the name of the player you invite in the action text
  • markerConfig: Config for all Marker Types available:
    • type: Type of the Marker Config. 0 = Static Marker (persistent), 1 = Dynamic Marker (deleted after server restart), 2 = Ping Marker, 3 = Group Marker, 4 = Group Player Marker, 5 = Private Marker
    • typeString: String represenation of the Type. The important thing is the type above
    • 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. If both are enabled, the group marker is prefered if the player has a group. Otherwise the private marker will be added, but never both
  • deleteOldDeathMarker: enable / disable if old Death Markers should be deleted or must be deleted manually by the player
  • preventFriendlyFire: Set to 1 to disable players taking damage from players, which are in the same group as them. That only prevents the player from dying from direct hits like bullets fired by the other player or melee hits. Things like clothing will still be damaged
  • preventFriendlyFireOnlyInSameSubgroup: Set to 1 to only prevent friendly fire when they are in the same subgroup (enableSubGroups must be enabled for that). Otherwise players will still take damage even though they are in the same group
  • 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
  • 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
  • gpsOnlyInVehicles: Force the GPS only to show if the Player is in a vehicle and never outside of vehicles
  • vehiclesWithGPS: List of vehicle with an "inbuild GPS" (do not require the GPS Item if needed)
  • gpsItems: Items that count as a GPS (only one of the items in the list is needed. Not all together)
  • 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
  • requireItemToSeeGroupMembers: Enable is you need to have an item with you to see other group members
  • requireItemToBeSeenByGroupMembers: Enable is you need to have an item to be seen by the other group members
  • playerMarkerItems: One of the items is requires in the inventory for the 2 options above
  • 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
  • allowJoinSecondGroupTemporarily: Enable secondary groups to not have to leave the main group to temporarily join another group
  • removeTemporaryMemberOnServerStart: Enable if players should be removed from the temporary group on restart. Otherwise the player needs to leave the group or you enable removeTemporaryMemberOnPlayerLeave
  • removeTemporaryMemberOnPlayerLeave: Enable if players should be removed from the temporary group when he leaves the server / logs out or server restart. Otherwise players need to actively leave the temporary group
  • 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 on the server)
  • disableInfoPanelModCreatorMention: disable if the small message with my Name should be hidden on the Info panel
  • disableMarkerPageOnMap: Disable the Marker Page on the Map
  • disableSettingsPageOnMap: Disable the Settings Page on the Map
  • disableGroupPageOnMap: Disable the Group Page on the Map, effectively disabling the creation of groups
  • disableMarkerPlacement: Disable if players should be able to place any markers. Includes group and private markers.
  • 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

folderNoBuildZones.json (easy)
Copy

  • enabled: Enabled (1) or Disable (0) the whole system
  • displayOnMap: Set to 1 if players can see the zones on the map (they can turn them off in the client settings to hide them). Or set it to 0 to hide all zones for all players. No player will be able to enable the zones for them then
  • notificationTitle: Title of the notification when a player cannot build there
  • notificationMessage: The text of the notification. {pos} will be replaced with the name of the current Zone the player is in
  • ignoreItems: Items which can be placed inside of No Build Zones. For example Traps. You can enter Baseclasses like Trap_Base here. Be aware, that you need to enter the name of the config.cpp class, which is Trap_Base and not TrapBase
  • circleColorR: Red Color of the Circles shown on the map
  • circleColorG: Green Color of the Circles shown on the map
  • circleColorB: Blue Color of the Circles shown on the map
  • zones: List of all no build zones
    • name: Name of this position. This will replace the {pos} placeholder when sending the error message to the player
    • x: X position of the Zone
    • y: Y position (or rather the Z coordinate) of the Zone
    • r: Radius of the Zone

folderPermissions.json (medium)
Copy

  • 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
  • moveSubgroupPower: Power the player has to move others to a different subgroup. Needs to be greater than the moveSubgroupNeedPower of the current rank of the moved player
  • promoteNeedPower: Power needed to promote someone to this rank
  • demoteNeedPower: Power needed to demote someone from this rank to a lower rank
  • moveSubgroupNeedPower: Power needed to move the player to a different subgroup
  • 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: if players in this group should be removed after server restart. 0 if group is persistent

folderPlotpoleConfig.json (hard)
Copy

  • enablePlotpoleExtension: Must be set to 1. Otherwise everything is disabled !
  • enabledDebugLifetimePrints: Enable if all objects, which are refreshed by the flag should be printed to the log to find any missing items and troubleshoot
  • syncPlotpolesToCFCloud: Show Plotpoles on the CF Cloud interactive Map
  • doObjectLifetimeReset: Reset the Lifetime of objects within the Plotpole Radius. When disabled, the Flag will not reset the lifetime of the objects placed and they might despawn
  • 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
  • instantDestroyPlotpole: When any part of the Flagpole is destroyed, the whole flag will be deleted
  • returnFlagpoleKitOnInstantDestroy: Enable if the Plotpole Kit should be droppen on the ground when the flag is destroyed with instantDestroyPlotpole enabled
  • allowDestroyWithFlagAttached: Enable if the plotpole can be destroyed while the Flag is still attached. When disabled, players can also not cut the flag with a knife to remove the Flag from the Pole
  • maxDistanceToDismantleFlag: Change the max distance a player can be away from the base of the Flag to destroy it to prevent people from destroying it by only seeing the top of the flag through a house/base roof. Calculated from the player feet to the base of the Flagpole
  • 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 !)
  • maxDistanceToLowerFlag: Similar to the maxDistanceToDismantleFlag, but for lowering the flag. Calculated from the player feet to the base of the Flagpole
  • 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
  • plotpoleRadius_InsidePvEZone: Overwrites the radius of the flag when inside a PvE Zone (PVEZ mod supported)
  • plotpoleHeightUp_InsidePvEZone: Overwrites the radius of the flag when inside a PvE Zone (PVEZ mod supported)
  • plotpoleHeightDown_InsidePvEZone: Overwrites the radius of the flag when inside a PvE Zone (PVEZ mod supported)
  • plotpoleDistanceMinHostile: Minimum distance between Plotpoles when owned by different Groups. Also checked when trying to claim a flag
  • plotpoleDistanceMinFriendly: Minimum distance between Plotpoles when owned by the same Group. Also checked when trying to claim a flag
  • defaultPlotpoleCountPerGroup: Plotpole Limit for each Group (can be upgraded via the Level.json)

folderSafezoneMarkers.json (easy)
Copy

  • enablePlayerMarkers: Enable / disable the whole feature
  • showMarkersEverywhere: Enable if markers should be visible everywhere on the whole map ignoring the zones of the static markers
  • checkLineOfSight: Check the line of sight from the player to the other players head
  • obfuscatePlayerNames: Show the obfuscated version of the Playernames instead of the real names. Will behave exactly the same like the obfuscation of player names on the online players list for the group invites. The IDs of the players will also be printed in the LBmaster log when they login so you can find out who the person was
  • showOwnPlayerTag: Enable if the tag of the own player should be displayed or hidden
  • maxPlayerDistance: Maximum distance the nametags will be shown. Cannot exceed the network far bubble (~1000m by default)
  • playerTagPrefix: Prefix for normal players (is not displayed when name obfuscation is enabled)
  • playerTagColor: Color of the nametag for players
  • adminTagPrefix: Prefix for admins, which have the "groups.nametags.admin" permission set
  • adminTagColor: Color of the Admin nametag

folderStaticMarkers.json (easy)
Copy

  • type: Type of the Marker. 0 = Static Marker (persistent), 1 = Dynamic Marker (deleted after server restart), 2 = Ping Marker, 3 = Group Marker, 4 = Group Player Marker, 5 = Private Marker
  • uid: Unique ID of the Marker. This should be unique, otherwise it will only be displayed once in the Marker list. If you have a lot of the same markers like extracts, you can give it the same UID for all Markers, so you only have it once in the Marker list. Otherwise do not use the same UID for multiple markers
  • name: Name displayed on the map
  • icon: Icon Path for this marker
  • position: Position of the Marker
  • currentSubgroup: Only relevant for Group Player Markers (Type 4) to keep track of which subgroup the player joined. Also used for pings to check if they should be displayed
  • colorA: Alpha (Transparency) Color of this marker and the icon. 255 for fully opaque and 0 for fully transparent
  • colorR: Red Color
  • colorG: Green Color
  • colorB: Blue Color
  • creatorSteamID: Steamid of the user created this marker
  • circleRadius: If set to something greater than 0, this marker will have a radius marked around it
  • circleColorA: Alpha Color of the circle
  • circleColorR: Red Color of the circle
  • circleColorG: Green Color of the circle
  • circleColorB: Blue Color of the circle
  • circleStriked: Set to 1, the circle will have lines to fill the circle. When set to 0, only the border of the circle will be shown
  • circleLayer: Multiple Circles sharing a single layer will intersect with eachother instead of overlap
  • showAllPlayerNametags: When set to 1, playernames above the players will be shown within the circle radius. If you only want to see the playernames and don't want to show the radius, set the Alpha color to 0
  • toSurface: Set to 1 to automatically set the marker to ground pos at the x and z position
  • display3d: Enable if the marker should be shown in 3D
  • displayMap: Enable if the marker should be shown on the Map
  • displayGPS: Enable if the marker should be shown on the GPS

folderTimeout.json (easy)
Copy

  • 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)

folderLeaderboard

folderLeaderboardConfig.json (medium)
Copy

This is the main config of the Leaderboard mod. All of these settings can also be changed in the ingame admin menu, which is always recommended to do
  • server_api_id: Server API ID, not they API KEY! Of the CFTools Server instance. Check Where is the Server ID for the Config ? for how to find the Server ID
  • discordInviteLink: Invite link to your discord. Will be opened when players click on the Discord icon on the Leaderboard (the icon is hidden when no Link is setup)
  • 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 Background
  • headerBarTextColor: R,G,B,A Color Channels for changing the color of the Header Bar Text
  • 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
  • excludedAdminCFIds: You can added teammembers here. Make sure to add the CFTools Id and not the Steamid of the user!
  • 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%. The total width of all Entries should add up to 1.0 (100%), otherwise it will be cut off!
    • 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

folderQuiz

folderquiz.json (medium)
Copy

This is the main config of the mod. It's recommended to use the ingame admin menu to edit the quiz. All options can be changed through the ingame admin menu
  • requiredQuizToPlay: The uid of the Quiz, that needs to be passed before being able to play. Will be opened after the player joined. Set to -1 to disable it
  • quizList: List of all Quizzes available
    • uid: Unique Identifier of this quiz. Recommended is to increment this value by 1 for each new quiz added
    • name: Name of the quiz. Will be displayed in the menu when the quiz is required to execute the action and in the logs
    • title: Title of the quiz displayed at the top of the quiz menu. Should be roughly the same like the name. This will be displayed on all pages of the questions at the top
    • skipCover: Skip the first introduction screen, which can be used to explain things before starting the quiz. For example add server rules there and then ask questions about the server rules
    • coverImage: Image on the cover
    • coverHeading: Short text on the cover
    • startButtonText: Name of the button on the cover to start the quiz
    • coverLongTextLines: Lines on the cover. Each entry is a new line. Lines are not wrapped at the end, so don't make them too long. Empty "" will be a whole empty line
    • shuffleQuestions: Enable if the questions should be shuffled randomly at the start of the quiz. You can define exceptions for each questions to still display them first
    • maxQuestions: Maximum amount of questions in this quiz. For example you have a pool of 30 questions, but only 10 of them should be picked. You should enable shuffleQuestions if you set maxQuestions to a lower value whan the actual questions on the quiz
    • maxWrongAnswers: Maximum amount of wrong answers before the quiz is failed. Answering more questions wrong than allowed will cancel the quiz and it's considered as failed
    • secondsBeforeNextRetryAfterFailing: Seconds before the player can attempt the quiz again after failing. Starting a quiz and canceling it or closing the game will consider the quiz to be failed
    • secondsBeforeNextAttempt: Seconds before the player can attempt the quiz again after passing.
    • blockedActionsWithoutPassing: Classnames of actions, which cannot be executed without passing this test. when a player wants to execute one of the actions listed here, he will be promted with the quiz to complete it
    • questions: List of questions for this quiz
      • title: Title displayed at the top of the Quiz
      • titleImage: Path to an image which should be displayed at the top the the quiz underneath the title
      • guaranteedQuestion: 1 to always include the question in the pool of questions the player is asked. 0 to treat it as a normal question
      • excludeFromShuffle: 1 to show it at the start of the quiz. The order of questions, which are excluded from shuffle is determined by the order the questions are in the questions list of the quiz
      • answers: List of possible answers. At least one answer is required. if more than 4 answers are in the list, 3 random answers will be picked + the correct answer. All answers are shuffeled for each run of the quiz
        • correct: 1 if the answer is the correct answer. 0 if the answer is wrong. Currently exactly one answer per questions must be correct. Not 0 and not 2 correct answers !
        • text: Text shown on the answer button
        • answerImage: Path to an image, which should be shown on the answer button. Empty if you only want to use text answers. This can be mixed with text to show both at the same time

folderRaidAlert

folderConfig.json (easy)
Copy

This config controls all the basic settings of the Raid Alert mod. If you want players to be able to receive Raid alert messages, it's highly recommended to invite the Raid Alert Bot, because players need to share at least one server with the bot to receive messages. All Raid Alert towers consist of 3 Parts. The Raid Alert base, the Raid Alert sender and the battery. The battery can be disabled in this config. Also the tower needs to be assembled by default, which can also be disabled here. You can also change the tools to assemble, dismantle or destroy the tower here
  • destroyTowerSeconds: Time is takes in seconds to destroy the Tower with the specified tools. Destroying can be done by any player
  • destroyTowerToolDamage: How much HP damage the destroy Tools takes. Check the configs how much max HP the item has
  • destroyTowerTowerDamage: Damage applied to the Tower items when destroyed to not make them last infinite
  • destroyTowerTools: Classnames of the Tools, that can be used to destroy the Tower. Clear this list to disable destroying
  • dismantleTowerSeconds: Time it takes to dismantle a Tower. Dismantling can only be done by the player, who setup the Tower
  • dismantleTowerToolDamage: How much HP damage the dismantle Tools takes. Check the configs how much max HP the item has
  • dismantleTowerTowerDamage: Damage applied to the Tower items when dismantled to not make them last infinite
  • dismantleTowerTools: Leave at least one item in here to allow players to dismantle the Tower again
  • ignoreDestroyedItem: When this item is destroyed or dismantled, the raid alert is not triggered. Can be used for often moved items like the BBP Stepladder. This does not support baseclasses like TentBase or BaseBuildingBase
  • ignoreFoldedObjects: When enabled folding objects will not be considered raiding
  • assembleTowerSeconds: Time it takes to assemble the tower. The player who assembles the tower will be the owner of it and has full permissions to edit the config
  • assembleTowerToolDamage: Damage the tool takes when assembling the tower
  • autoAssembleWhenSenderAttached: Enable (1) to auto assemble the tower when the Sender Item is attached and don't require the player to assemble the tower with an extra item
  • assembleTowerTools: Tools that can be used to assemble the tower
  • alertRequiresBattery: Enable / Disable if the tower needs a LB_RaidAlertBattery to function
  • energyConsumedForAlertMessage: LB_RaidAlertBattery has 10000 Energy when full. 100 would be 1% of the total charge or 100 minutes with default settings
  • alertTriggerTimeout: Timeout before the next raid alert is triggered and webhooks are sent again. Webhooks have a 30 second hard timeout, which cannot be lowered
  • alertTriggerRadius: Radius of the Tower, where it picks up raid actions
  • energyConsumedPerMinute: LB_RaidAlertBattery has 10000 Energy when full. One battery would last for 10.000 minutes, which is about 7 days
  • sendBatteryLowWebhooks: Enable / Disable if players should receive webhooks for low battery warnings
  • batteryLowThreshold: Threshold when the Low battery message should be sent. 0.2 = 20% remaining battery
  • sendIngameRaidAlert: Enable / Disable if players should receive a warning ingame when online and their base is being raided
  • sendDiscordPrivateMessages: Enabled / Disable if players should receive Discord Messages by the DayZync discord bot. Make sure the bot is invited to the Server: https://dayzsync.de/invite
  • discordPrivateMessage: Discord Raid Alert Message. $location$ is replaced with the custom location set in the raid alert tower. $servername$ is replaced with the hostname set in the server config file.
  • discordPrivateBatteryWarning: Discord Battery Low Message for direct messages
  • discordPrivateDestroyedMessage: Tower destroyed message for direct messages
  • enableSirenSound: Enable Ingame Siren Sound when alert is triggered
  • sirenSound: Name of the sound. Must be configured in the config.cpp Class CfgSounds. This is not a sound set !
  • sirenSoundDistance: Maximum audiable distance of the sound. This should match the 4th Parameter in your sound config
  • sirenCanTriggerAI: Siren Can trigger AI around and attract them
  • sendTestAlertsOnlyToPlayerWebhook: if set to 1, the RaidAlertRaid webhook is only sent to the custom URL of the player set in the ingame menu and not to all webhooks in the webhooks.json with the "RaidAlertRaid" Webhook enabled. Set this to 0, to send it also to these webhooks. Be warned, that players can spam a message every 30 seconds in there

folderSaferTrading

folderconfig.json (easy)
Copy

This config has all the settings you need for the Safer Trading mod
  • tradingStroageItemname: The item spawned for trading. there are different items with different inventory Sizes. Available sizes: LB_SafeTradingStorage_20 (5x4), LB_SafeTradingStorage_50 (10x5), LB_SafeTradingStorage_70 (10x7), LB_SafeTradingStorage_100 (10x10), LB_SafeTradingStorage_200 (10x20), LB_SafeTradingStorage_250 (10x25)
  • storageLifetimeAfterTradingSeconds: Will delete the item after x seconds after it was used for trading to prevent people from using it as safe storage
  • allowTradingAnywhere: Don't check any safezones or custom zones, but just allow trading anywhere
  • allowTradingInTraderSafezones: Check if a player is in safezone and allow trading there. This can be combined with allowTradingInCustomZones so players must either be in a safezone, or a custom zone
  • allowTradingInCustomZones: Check if a player is in custom zone defined below and allow trading there. This can be combined with allowTradingInTraderSafezones so players must either be in a a custom zone or a safezone
  • customZones: Custom Zones for trading. They are simple sphere shaped zones
    • center: Center position of the zone
    • radius: Radius of the zone

folderSkinSystem

folderPermissions.json (medium)
Copy

List of Repaint PermissionsThis file manages the Permission of the Dynamic Skin system (Skins applied when picking up items and not changing the actual itemname)
  • name: The name of the Permission group. This is the name, which must be put in the permissionGroups list in the Repaints.json
  • members: List of players in the group
    • steamid: Steamid of the player
    • comment: This can be anything you want to quickly identify the member. For example the player name
    • expirydate: Date when the member is automatically removed from the list. Format: dd.MM.yyyy HH:mm:ss. Leave it empty for infinite duration
  • groups: List of groups, which should have the permission (Currently only Advanced Groups Group Tags are supported)
    • groupTag: Shortname of the Group
    • comment: Any comment you want
    • expirydate: Date when the member is automatically removed from the list. Format: dd.MM.yyyy HH:mm:ss. Leave it empty for infinite duration

folderRepaints.json (hard)
Copy

List of skins for the dynamic skin system This system is harder to setup than the swap system, but gives a lot more flexibility to configure who can use a skin and how attachments are affected
  • itemnames: List of Itemnames (This can also be Base Classnames like M4A1_Base to allow repainting all M4A1 variants), which can have the skin applied
  • repaints: List of all the different repaints this item can have
    • name: Name of the repaint, which is shown in the Repaint Menu
    • overwrittenDisplayName: Overwrite the displayname of the item when the skin is applied. Use $original$ which will be replaced with the original displayname. for example "$original$ (Camo)" would display the original name + (Camo).
    • excludedItems: List of items, which should not show this repaint. For example you have a skin for M4A1 and one is the Green skin, then you don't want the M4A1_Green to basically have the same skin, which is already the default skin
    • hiddenSelectionTextures: List of textures applied to the main item. Make sure to properly setup the texture path here with forwardslash and no backslash and make sure they match the hiddenSelections in the config.cpp of the items. Clothing for example commonly uses three different textures. The first is the ground texture, the second for male characters and the third for female characters. So you also need to put the path to the image three times into the hiddenSelectionTextures list. Otherwise you will end up with items having the proper texture set when in hands / cargo / ground, but not when worn by the player on his character ! So make sure you always check the hiddenSelections list in the config.cpp of your item you are retexturing !
    • hiddenSelectionMaterials: Same as the hiddenSelectionTextures, but for rvmat materials
    • permissionGroups: List of groups, which should be able to access this skin. Groups are setup in the Permissions.json. If the list is empty, then everybody has access to the skin. !!! Empty is not [""] This would be a list with one entry for the group with the name "". Use [], which is 0 entries to make it available for everyone
    • attachments: List of attachments, which will be retextured automatically when applying the skin to the parent item. For example weapon attachments. itemnames, hiddenSelectionTextures and hiddenSelectionMaterials follow the same rules as described above
      • itemnames: List of Itemnames (This can also be Base Classnames), which can have the skin applied
      • hiddenSelectionTextures: See hiddenSelectionTextures above
      • hiddenSelectionMaterials: See hiddenSelectionMaterials above

folderSwaps.json (medium)
Copy

This config controlls the Swap System (the alternative to the dynamic system) Both can be used at the same time This config is a list of "groups", which allow all items to be swapped to another in the same group and groups considered lower value as the items current group
  • name: Name of the Group shown in the ingame menu and used to reference lower groups. All _ will be replaced with a space ingame
  • items: List of itemnames (no baseclasses !), which belog to the group. Items must not belog to more than 1 group !! Items can have a - as a prefix to indicate, that they cannot be swapped to, but can still be swapped to another item. So -M4A1_Green would allow the M4A1_Green item to be swapped to any other item from the group, but other items cannot be swapped to the M4A1_Green. This also works when other items higher up in the hierarchy like Rifle_Base were added, then the -M4A1_Green would exclude it from the search there too.
  • targetGroups: List of groups, which should be included to the pool of available items. This recursively searches for items in lower groups, so make sure you don't create an infinite loop, which might crash the server !. So For example you have a Tier3 Guns group and you include the Tier2 Guns in that group. Then the Tier1 weapons will also be included when the Tier2 Weapons can be swapped to Tier1, essentially skipping one swap step for players, because they could swap to that weapon anyways. But make sure to not allow players to swap from Tier1 back to Tier3 ! You need to put them all in the same group if you want to allow that !

folderinstall.json (easy)
Copy

This file keeps track of the installation status of the Mod. This is required to not force everyone to wipe their server. Make sure to not copy this file over to your server after finishing setting it up on a testserver. Otherwise the new server will think the mod was installed and the persistence files will break ! If you want to uninstall the mod, you need to set the unInstallMode to 1 and let the server run for 5 Minutes. It will automatically shutdown again. Be aware, that the system is not perfect, because player inventories will still try to load the items wrong, when they not joined the server while in install mod after the first install of the mod. So you might want to consider to wipe player inventories by deleting the players.db in your mpmissions/storage folder
  • firstInstallation: Set to 1 when the mod is first installed. The server should at least run for 5 Minutes to not break the persistence. This value will be reset to 0 after 5 minutes automatically
  • unInstallMode: Set to 1 to uninstall the mod safely without breaking your current game persistence files. The server will shutdown after 5 minutes automatically and resets the unInstallMode back to 0. Make sure to then remove the mod and not let the server start again !

foldermainconfig.json (easy)
Copy

This config controls a few very basic repaint options, which are currently only related to the spray can
  • sprayCanMaxUses: Max uses of the Repaint_SprayCan item. Can be set to 0 for infinite uses

folderSpawnSelect

folderBedSpawnConfig.json (medium)
Copy

This file keeps track of the different sleeping bag configurations. For example old and new sleeping bags can have different respawn timeouts, respawn counts etc.
  • globalBagLimit: Limit the amount of total bags a player can place. This will overwrite the itemLimit set for individual bag types, so players can for example have only two bags, but can choose which ones they want to place when the itemLimit for all bags are set to 2
  • bedConfigs: List of bed Configs

folderHouseConfig.json (medium)
Copy

The Main Spawn Select House Config only used when the TB Real Estate Mod is installed, otherwise these settings will not do anything. Bed Spawn Configs are not handled here !
  • enabled: Enable / Disable spawning at the house. The house needs the respawn ability purchased and enabled
  • spawnCost: Cost to spawn at the House
  • timeoutSeconds: Timeout a player gets before he can spawn there again
  • spawnName: Name shown in the spawn menu
  • clearInventoryOnSpawn: Clear inventory when the player is spawned there to spawn the loadouts on a fresh player
  • loadouts: Loadouts spawned on the player

folderSpawnSelectConfig.json (medium)
Copy

The Main Spawn Select Config. Bed Spawn Configs are not handled here !
  • 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
  • random_ignore_timeouts: Set to 1 to ignore all timeouts of the spawns, when clicking on Random Spawn. This allows players to spawn and kill themselves to get the spawn they want, if they really wanted to. Otherwise it could happen, that players cannot spawn anywhere, because all spawns are currently on a timeout. So be aware of that, before choosing to enable / disable this option
  • 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. This is only for the initial spawn while the menu is open, not when the player selected a spawn ! That is configured per spawn
  • overwrite_default_spawnPos: If enabled, the player will spawn at spawnPos when respawning
  • 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
  • show_remaining_bag_uses_in_spawnmenu: Enable to show how many bag uses are left for each bag when in the respawn menu
  • 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: Food 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
  • respawnOpenedMenuSpawnpoints: Config for which spawns should be available in the spawn menu opened when respawning
    • disableRandomSpawn: Disable the Random Spawn Button for this spawn list
    • sleepingBags: Include all SleepingBags
    • allSpawnPoints: Include all enabled Spawnpoints
    • allHousePoints: Include all enabled Spawnpoints
    • spawnPointsList: List of Spawnpoints to include when allSpawnPoints set to 0
  • firstJoinOpenedMenuSpawnpoints: Config for which spawns should be available in the spawn menu opened when first spawning
    • disableRandomSpawn: Disable the Random Spawn Button for this spawn list
    • sleepingBags: Include all SleepingBags
    • allSpawnPoints: Include all enabled Spawnpoints
    • allHousePoints: Include all enabled Spawnpoints
    • spawnPointsList: List of Spawnpoints to include when allSpawnPoints set to 0
  • signs: List of Spawn sign configs
    • disableRandomSpawn: Disable the Random Spawn Button for this spawn list
    • sleepingBags: Include all SleepingBags
    • allSpawnPoints: Include all enabled Spawnpoints
    • allHousePoints: Include all enabled Spawnpoints
    • spawnPointsList: List of Spawnpoints to include when allSpawnPoints set to 0
    • itemname: Itemname of the item interacted with. Pre existing items: LBmaster_SpawnSign, LBmaster_SpawnSign_Safezone, LBmaster_SpawnSign_Spawn, LBmaster_SpawnSign_Event, LBmaster_SpawnSign_1, LBmaster_SpawnSign_2, LBmaster_SpawnSign_3, LBmaster_SpawnSign_4, LBmaster_SpawnSign_5
    • requiredSpawnTicket: Itemname of the Spawn Ticket required to spawn at any spawnpoint available at this spawnsign. Leave empty ("") if no Ticket is required
    • actionText: Action Text displayed when spawn menu can be opened. (A different text will be displayed when the required Spawn Ticket is missing)
  • positions: List of available spawn positions. This can be easily modified ingame !

folderUtilityWorkbenches

folderRepair.json (easy)
Copy

This is a small config for the Repair system of the mod. The Ammo Workbench doesn't have a config. This config can also be fully edited via the admin menu ingame
  • canRepairRuinedItem: Enable it to give players to option to repair their ruined items. Be aware, that items, like Wheels, which change the actual item when getting ruined, will not work here (Hatchback_02_Wheel turns into Hatchback_02_Wheel_Ruined)
  • repairMaxHealth: Max Health any item can be repaired to. 0.5 would be 50% and 0.7 would be 70%. 1.0 = 100%
  • repairHealthPerSecond: Change how fast items should be repaired. 0.01 = 1% per second. 0.05 = 5% per second etc.
  • costPerHP: Cost per HP of the Item. Items with more HP will cost more to repair
  • costPerPercent: Cost for each Percent this item needs to repair
  • costPerItem: Base Cost for all items no matter how much health can be repaired
  • ruinedRepairCost: Additional Cost when repairing a ruined item
  • blacklist: List of itemnames, that cannot be repaired at all. This accepts Base itemname like Ammunition_Base to blacklist all kinds of Ammo
  • costMultiplier: Multipliers for certain items when they fall into a certain category. Items falling into multiple categories will receive the multiplier of the first category they were found in

folderData

folderCore

folderplayernames.json (easy)
Copy

Save all last playernames to display them when the player is offline and makes a trap kill setup by them and for more things This file should not be edited manually
  • steamid: Steamid of the Player Saved
  • bohemiaId: Bohemia Guid
  • lastName: Last known name, which is updated on joining
  • lastGroupTag: Last known group name
  • lastTag: Last known Chat Tag
  • lastOnlineTimestamp: Last time the player joined the server
  • firstJoinTimestamp: first time the player joined the server
  • playSessions: Keeps track how often a player joined the server

folderKillfeed

folderhistory.json (easy)
Copy

This file keeps Track of the last 100 kills registered You don't need to edit this file
  • headshot: 1 if the last hit was a headshot. 0 otherwise
  • teamkill: 1 if the kill was a teamkill. 0 otherwise
  • displayWeaponDisplayname: Save if the message should display the weapon displayname
  • displayWeaponItem: Save if the message should display the weapon with attachments
  • killerName: Name of the killer when he killed the victim
  • killerGroup: Group Tag of the killer
  • killerTag: Prefix of the killer
  • victimName: Name of the Victim
  • victimGroup: Group Tag of the Victim
  • victimTag: Prefix of the victim
  • killerItemClassname: Itemname of the weapon used to kill the victim
  • itemnameTextures: Contains the paths to custom changed textures if they are not the default textures
  • itemnameMaterials: Contains the paths to custom changed materials if they are not the default material
  • attachments: Attachments attached to the killer Item
  • distance: distance between killer and victim
  • duration: Duration this message will be shown on the graphical killfeed
  • killStreak: Killstreak if enabled. Otherwise this will be -1
  • loudnessIndicator: If enabled, this will be the value of the loudness of the weapon
  • type: Type of the Kill
  • colorVictimName: Color of the Victim Name
  • colorVictimTag: Color of the Victim Group Tag
  • colorVictimGroup: Color of the Victim Prefix
  • colorKillerName: Color of the Killer Name
  • colorKillerTag: Color of the Killer Group Tag
  • colorKillerGroup: Color of the Killer Prefix
  • victimSteamid: Steamid of the Victim
  • killerSteamid: Steamid of the killer
  • victimLog: Name of the Victim for the Log Messages (might contain information like group tag and prefix even if it's disabled in the config to not show ingame)
  • killerLog: Name of the killer for the Log Messages (might contain information like group tag and prefix even if it's disabled in the config to not show ingame)
  • victimBot: 1 if the victim is a bot. 0 if it's a normal player. Bot's will not have a valid Steamid set !
  • killerBot: 1 if the killer is a bot. 0 if it's a normal player. Bot's will not have a valid Steamid set !
  • victimPos: Position of the victim
  • killerPos: Position of the killer
  • date: Unix timestamp of the kill
  • bleedingSources: Amount of bleeding sources of the victim
  • bloodLevel: Blood Level of the victim on death. 5000 = max Blood. ~3000 = Critical Blood

folderkillstreaks.json (easy)
Copy

This file keeps track of the Killstreaks of all players with their current killstreak and their highest killstreak You don't need to edit this file
  • steamid: Steamid of the Player with the killstreak
  • current_killstreak: Current killstreak the player reached
  • last_accounced: Save what killstreak was annouced last to not annouce them twice when a players current_killstreak is decreased as a penalty from teamkilling
  • highest_killstreak: Save the highest killstreak the player ever reached. This is not reset when the player dies

folderqueue.json (easy)
Copy

This file keeps track of any messages waiting to be sent. Only really used when messageDisplayDelaySeconds is set to something greate than 0 in the config.json You don't need to edit this file
  • headshot: 1 if the last hit was a headshot. 0 otherwise
  • teamkill: 1 if the kill was a teamkill. 0 otherwise
  • displayWeaponDisplayname: Save if the message should display the weapon displayname
  • displayWeaponItem: Save if the message should display the weapon with attachments
  • killerName: Name of the killer when he killed the victim
  • killerGroup: Group Tag of the killer
  • killerTag: Prefix of the killer
  • victimName: Name of the Victim
  • victimGroup: Group Tag of the Victim
  • victimTag: Prefix of the victim
  • killerItemClassname: Itemname of the weapon used to kill the victim
  • itemnameTextures: Contains the paths to custom changed textures if they are not the default textures
  • itemnameMaterials: Contains the paths to custom changed materials if they are not the default material
  • attachments: Attachments attached to the killer Item
  • distance: distance between killer and victim
  • duration: Duration this message will be shown on the graphical killfeed
  • killStreak: Killstreak if enabled. Otherwise this will be -1
  • loudnessIndicator: If enabled, this will be the value of the loudness of the weapon
  • type: Type of the Kill
  • colorVictimName: Color of the Victim Name
  • colorVictimTag: Color of the Victim Group Tag
  • colorVictimGroup: Color of the Victim Prefix
  • colorKillerName: Color of the Killer Name
  • colorKillerTag: Color of the Killer Group Tag
  • colorKillerGroup: Color of the Killer Prefix
  • victimSteamid: Steamid of the Victim
  • killerSteamid: Steamid of the killer
  • victimLog: Name of the Victim for the Log Messages (might contain information like group tag and prefix even if it's disabled in the config to not show ingame)
  • killerLog: Name of the killer for the Log Messages (might contain information like group tag and prefix even if it's disabled in the config to not show ingame)
  • victimBot: 1 if the victim is a bot. 0 if it's a normal player. Bot's will not have a valid Steamid set !
  • killerBot: 1 if the killer is a bot. 0 if it's a normal player. Bot's will not have a valid Steamid set !
  • victimPos: Position of the victim
  • killerPos: Position of the killer
  • date: Unix timestamp of the kill
  • bleedingSources: Amount of bleeding sources of the victim
  • bloodLevel: Blood Level of the victim on death. 5000 = max Blood. ~3000 = Critical Blood

foldertrapplacements.json (don't edit)
Copy

This file contains all positions of placed traps and the player, who placed the trap to not have to save this information in the persistence files and potentially breaking it by installing the mod Do not edit this file!
  • placedTraps: list of all placed down traps. Param1 = position, Param2 = Steamid, Param3 = Typename of the trap

folderLBBanking

folderCreditCards

folder[CardUID].json (easy)
Copy

  • money: Money currently stored on that creditcard
  • uid: UID of the credit card
  • pin: Pin of the credit card to unlock it if a pin is set and enabled in the config
  • pinSet: Checks if the pin is set
  • creatorSteamid: The person, who first used the Credit Card at an ATM
  • creatorName: The name of the Person
  • wrongPinsEntered: Keeps track of the wrong pin entered count
  • lastWrongPinTime: Unix timestamp when the last pin was entered wrong to block the card

folderPlayers

folder[Steamid].json (easy)
Copy

  • steamid: Steamid of the player for this config
  • playername: The last known playername of this player
  • currentMoney: The current account balance
  • maxMoneyBonus: Extra Max Money bonus on top of the max money set in the config
  • paycheckBonus: Extra Paycheck bonus on top of the normal paycheck
  • ignoreTransferFee: Enable if the player does not pay a transfer fee when he transfers money to other players. Other players still pay a transfer fee when transfering money to him

folderLBGarage

folderGarages

folder[Garage Group Name]

folder[Steamid/GroupTag/GarageID].json (easy)
Copy

This can be a file direcly owned by a Player, Group or a privats garage setup at a players base All files are stored inside the folder named after the Garage Config Group name setup in the garage sign settings. That means different Garage Config Groups also have different inventories of vehicle and levels.
  • steamid: Steamid or Group Tag or Private Garage Id of the owner. Should always match the filename.json
  • level: Level of the Owner
  • additionalVehicleCount: Additional Vehicle bonus for this Garage
  • vehicles: All stored vehicles
  • stolenVehicles: All Stolen vehicles after being hacked and parked out. Only hacked vehicles are still in the vehicles list, but marked as hacked. This list just keeps track of stolen vehicles for the owner to see, that the vehicles was stolen.
    • itemname: Itemname of the stolen vehicle
    • parkedInBySteamid: Same Steamid from the original vehicle
    • parkedInTimestamp: Same timestamp from the original vehicle
    • attachments: All original attachments to properly display it in the garage preview
      • itemname: Itemname of the attachment
      • health: Health level of the attachment
      • quantity: Quantity count
      • remainingEnergy: Energy if the item is a powersource like a battery
      • liquidType: Liquid Type of the item (e.g. Bottles or barrels)
      • attSlot: ID of the attachment slot the item was in
    • stolenBySteamid: The Steamid of the player, who stole the vehicle
    • stolenTimestamp: Timestamp when it was stolen to show how long ago the vehicle was stolen

folderLBGroup

folderGroups

folder[Shortname].json (medium)
Copy

This file is a Group file with all the info realted to a single group on the server. Do not edit this file while the server is running! All information will be overwritten. It's also recommended to use the ingame admin menu to make any changes to groups or delete them instead of manipulating the Json file!
  • name: Long name of the Group
  • shortname: Short name (Tag) also used as the filename of the group
  • level: Current level of the Group
  • lastActivity: Unix Timestamp when a player was last active in the group (used to delete inactive groups)
  • creationDate: Unix Timestamp when the group was created
  • showTagInChat: Group Leaders can toggle if their group tag should be shown in tag if not set to force show them in the Chatconfig.json. This is saved here
  • hasCustomChatColor: Set to 1 to apply the custom tag color defined below. Otherwise it will be the handled by the Chat
  • chatColorR: Custom Chat Tag Red color
  • chatColorG: Custom Chat Tag Green color
  • chatColorB: Custom Chat Tag Blue color
  • hasATMAccount: Tracks if the Player has a group account on Enhanced Banking
  • ATMBalance: Money on the groups bank account
  • members: List of all Members in this group
    • type: Type of the Marker. 0 = Static Marker (persistent), 1 = Dynamic Marker (deleted after server restart), 2 = Ping Marker, 3 = Group Marker, 4 = Group Player Marker, 5 = Private Marker
    • uid: Unique ID of the Marker. This should be unique, otherwise it will only be displayed once in the Marker list. If you have a lot of the same markers like extracts, you can give it the same UID for all Markers, so you only have it once in the Marker list. Otherwise do not use the same UID for multiple markers
    • name: Name displayed on the map
    • icon: Icon Path for this marker
    • position: Position of the Marker
    • currentSubgroup: Only relevant for Group Player Markers (Type 4) to keep track of which subgroup the player joined. Also used for pings to check if they should be displayed
    • colorA: Alpha (Transparency) Color of this marker and the icon. 255 for fully opaque and 0 for fully transparent
    • colorR: Red Color
    • colorG: Green Color
    • colorB: Blue Color
    • creatorSteamID: Steamid of the user created this marker
    • circleRadius: If set to something greater than 0, this marker will have a radius marked around it
    • circleColorA: Alpha Color of the circle
    • circleColorR: Red Color of the circle
    • circleColorG: Green Color of the circle
    • circleColorB: Blue Color of the circle
    • circleStriked: Set to 1, the circle will have lines to fill the circle. When set to 0, only the border of the circle will be shown
    • circleLayer: Multiple Circles sharing a single layer will intersect with eachother instead of overlap
    • showAllPlayerNametags: When set to 1, playernames above the players will be shown within the circle radius. If you only want to see the playernames and don't want to show the radius, set the Alpha color to 0
    • steamid: Steamid of the Player in the Group
    • permissionGroup: ID of the Permission group found in the Permissions.json
    • online: will be updated by the server if the player is currently online
    • health: HP of the Player (0 - 100.0)
    • tempMember: Set to 1 if the player is only temporarily part of the group (joined as secondary group)
  • markers: List of all placed group Markers. This does not include pings. They are not persistent and not saved here.
    • type: Type of the Marker. 0 = Static Marker (persistent), 1 = Dynamic Marker (deleted after server restart), 2 = Ping Marker, 3 = Group Marker, 4 = Group Player Marker, 5 = Private Marker
    • uid: Unique ID of the Marker. This should be unique, otherwise it will only be displayed once in the Marker list. If you have a lot of the same markers like extracts, you can give it the same UID for all Markers, so you only have it once in the Marker list. Otherwise do not use the same UID for multiple markers
    • name: Name displayed on the map
    • icon: Icon Path for this marker
    • position: Position of the Marker
    • currentSubgroup: Only relevant for Group Player Markers (Type 4) to keep track of which subgroup the player joined. Also used for pings to check if they should be displayed
    • colorA: Alpha (Transparency) Color of this marker and the icon. 255 for fully opaque and 0 for fully transparent
    • colorR: Red Color
    • colorG: Green Color
    • colorB: Blue Color
    • creatorSteamID: Steamid of the user created this marker
    • circleRadius: If set to something greater than 0, this marker will have a radius marked around it
    • circleColorA: Alpha Color of the circle
    • circleColorR: Red Color of the circle
    • circleColorG: Green Color of the circle
    • circleColorB: Blue Color of the circle
    • circleStriked: Set to 1, the circle will have lines to fill the circle. When set to 0, only the border of the circle will be shown
    • circleLayer: Multiple Circles sharing a single layer will intersect with eachother instead of overlap
    • showAllPlayerNametags: When set to 1, playernames above the players will be shown within the circle radius. If you only want to see the playernames and don't want to show the radius, set the Alpha color to 0

folderLBMuteConfig.json (easy)
Copy

  • mutedPlayers: List of all Muted Players. Param1 = Players Steamid, Param2 = Unix Timestamp when mute expires, Param3 = Player Name

folderTimeoutPlayers.json (don't edit)
Copy

  • players: List of all current player 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

folderQuiz

folder[Steamid].json (easy)
Copy

This file keeps track of all the quiz a player started, finished and completed. There is a simple list of Quiz IDs the player completed and a full list of all quiz the player started
  • steamid: Steamid of the Player
  • lastName: Last name of the player when the file was saved. Might not be 100% accurate
  • finishedQuizIds: A list of all Finished Quiz to reduce the time the mod has to search to check if a quiz was finished
  • finishedQuizList: A list with all started, failed and completed quiz
    • timestampStarted: Unix Timestamp when the Quiz was started
    • timestampEnded: Unix Timestamp when the quiz was finished. will be 0 when the player did not finish the quiz by closing the menu
    • quizId: ID of the Quiz
    • wrongAnswers: Amount of wrong answers given
    • completed: 1 if the quiz was completed (finished successfully) otherwise the quiz is failed or currently in progress

folderSpawnSelect

folderPlayers

folder[Steamid].json (easy)
Copy

All the positions with the timeout and bag ID if it's a bagThis file contains all the info about a player and his last spawns and his sleepimg bags
  • name: Displayname of the spawn. This is used to match with the name of the spawn to check if the player has a timeout there
  • lastSpawn: Server uses this as Last Spawn Timestamp. Client uses it as timeout timer
  • bagID: Bag id if this entry is a bag entry
  • type: Type of the Entry. 0 = normal spawn, 1 = Bag Spawn, 2 = House Spawn (TB Real Estate Mod)

folderspawncounttracker.json (don't edit)
Copy

This file keeps track of players spawned and how often they spawned. This file is needed to make sure players don't see the spawn menu when they are not supposed to see it and to prevent them from getting around the spawn screen Do not edit this file!
  • entries: All player entries
    • steamid: Steamid of the user
    • spawnCount: Amount of times the user spawned via the spawn menu
    • didRespawn: Keep track if the player respawned and the menu should be shown again

folderScripting

folderAdvanced Groups

folderHow 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

folderHow 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

folderHow 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

folderI 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

folderI 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);

folderI 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");
}

folderI 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);

folderI 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);

folderTypes.xml

folderEnhanced Banking
CopyDownload

When you want to use the credit Cards, you will have to add them to your Types.xml in Order for them to spawn in the world / not despawn when dropped on the ground
        <type name="LB_ATM_Credit_Card_Black">
            <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="LB_ATM_Credit_Card_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="LB_ATM_Credit_Card_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="LB_ATM_Credit_Card_LightBlue">
            <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="LB_ATM_Credit_Card_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="LB_ATM_Credit_Card_Pink">
            <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="LB_ATM_Credit_Card_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="LB_ATM_Credit_Card_White">
            <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="LB_ATM_Credit_Card_Yellow">
            <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>

folderRaid Alert
CopyDownload

This is the types.xml for the Raid Alert mod. Modify the norminal and min values depending on how many items you want to spawn on the map. Be aware, that placed down items in bases will always count to the nominal value, because they don't change the item when placed down, so you might want to add them to the Trader
<type name="LB_RaidAlertBattery">
    <nominal>30</nominal>
    <lifetime>7200</lifetime>
    <restock>1800</restock>
    <min>20</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"/>
    <usage name="Militarty"/>
  </type>
  <type name="LB_RaidAlertBase">
    <nominal>20</nominal>
    <lifetime>3888000</lifetime>
    <restock>1800</restock>
    <min>15</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"/>
    <usage name="Militarty"/>
  </type>
  <type name="LB_RaidAlertSender">
    <nominal>10</nominal>
    <lifetime>7200</lifetime>
    <restock>1800</restock>
    <min>5</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"/>
    <usage name="Militarty"/>
  </type>

folderSkin System
CopyDownload

If you want to make the workbenches available for players in their base, 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 not configured to already the items and you might want to change the amount and location they spawn Content to add:
<types>
    <type name="Repaint_Workbench">
        <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="Repaint_Workbench_Box">
        <nominal>0</nominal>
        <lifetime>7200</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="Repair_Workbench">
        <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="Repair_Workbench_Box">
        <nominal>0</nominal>
        <lifetime>7200</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="Swap_Workbench">
        <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="Swap_Workbench_Box">
        <nominal>0</nominal>
        <lifetime>7200</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>
</types>

folderSpawn System Lite
CopyDownload

Types.xml of the Mod:
<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>

folderVirtual Garage
CopyDownload

Types.xml of the Mod:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<types>
    <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>
    <type name="Garage_Sign_PlayerKit_2">
        <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_2">
        <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>
</types>