Basebuilding Config - ZenarchistCode/ZenModPack GitHub Wiki

What Is This?

This mod is mainly intended for use on Vanilla+ servers like mine where I want to reduce build anywhere abuse.

The config here only applies to BaseBuilding stuff if "disableIsBaseViableCheck" is true in vanilla cfggameplay.json for build anywhere.

The main issue when enabling Build Anywhere using this method is "disableIsBaseViableCheck = true" makes the game ignore bounding boxes, allowing placing objects literally inside themselves.

Enabling this is the only way to allow double-stacked high fences for anti-boost etc, but a major side-effect is players can abuse it to place tents inside of tents and walls inside of walls and whatnot to create extremely unrealistic bases which are unreasonably hard to raid and/or increase the negative impact of base loot lag on server-performance in extreme cases.

This mod is an effort to mitigate that problem to reduce the need for server admins to police basebuilding so actively and personally inspect everything quite as often.

It also includes some basic no-build-zone restriction config.

Config Explanation:

Config file: profiles/Zenarchist/ZenBasebuildingConfig.json

{
    "DebugOn": 0,
    "PackTentsAnywhere": 1, // Enables the "pack" action on EMPTY tents from anywhere outside them
    "CantPlaceInsideOfSelf": { // List of items which cannot be placed within X meters of themselves
        "MediumTent": 2.5999999046325685,
        "CarTent": 2.0,
        "LargeTent": 5.0,
        "PartyTent": 2.799999952316284
    },
    "BasebuildingLimits": [ // List of basebuilding object deploy restrictions
        {
            "ClassName": "Fence", // Name of base object
            "MinForwardTolerance": 0.5, // Minimum distance forward/backwards from another Fence (meters)
            "MinRightLeftTolerance": 4.0, // Minimum horizontal distance left/right from another Fence (meters)
            "MinHeightSeparation": 1.5, // Minimum vertical distance up/down from another Fence (meters)
            "MinSearchDistance": 5.0 // Distance to search surrounding area for a fence (should be larger than any of the above numbers to be accurate)
        }
    ],
    "NoBuildZoneDefaultMessage": "You can't build within %distance% of this area!", // Message when you cannot build near a particular zone.
    "NoBuildZones": [
        {
            "ZoneName": "Berezino Transfer", // Zone name
            "WarningMessage": "", // Unique message (overrides above default message)
            "Position": [
                13156.266602, 4.399075, 10102.798828 // Vector coordinates of the zone center
            ],
            "MinimumDistance": 25.0, // Radius of the zone
            "IgnoreHeight": 1 // Whether or not to ignore the height axis from the zone center
        },
		{
            "ZoneName": "Chernogorsk Transfer",
            "WarningMessage": "",
            "Position": [
                6501.937500, -0.019806, 2191.357422
            ],
            "MinimumDistance": 25.0,
            "IgnoreHeight": 1
        },
		{
            "ZoneName": "Altar Transfer",
            "WarningMessage": "",
            "Position": [
                8229.091797, 471.185577, 9031.171875
            ],
            "MinimumDistance": 25.0,
            "IgnoreHeight": 1
        }
    ],
    "Whitelist": [ // Items which CAN be placed in no-build zones
	"ZenNote",
        "ZenSleepingBag_Base",
        "Zen_ChessBoard",
        "Zen_Boombox"
    ]
}

Master Config

To disable this mod set "ZenBasebuildingConfig": 0 in %server_profile/Zenarchist/Utilities/ZenModPackConfig.json