New Player Protection

New Player Protection 1.91

No permission to download
This plugin is now free and open sourced. All future updates will still be maintained by me. Be sure to join the Discord: barnwellrd's ArkApi Plugin Discord!

Features:
  • Protects new player STRUCTURES from damage
  • Protects new player structures for X amount of hours
  • Protects new player structures up to X level
  • Can set tribes as PVE Tribes
  • Configurable list of excluded structures
  • SQLite Database
  • Customizable config

Configuration:

JSON:
{
  "General": {
    "DbPathOverride": "",
    "EnableDebugging": false,
    "PlayerUpdateIntervalInMins": 10,
    "IgnoreAdmins": false,
    "AllowNewPlayersToDamageEnemyStructures": false,
    "AllowPlayersToDisableOwnedTribeProtection": true,
    "AllowWildCorruptedDinoDamage": false,
    "AllowWildDinoDamage": true,
    "NPPPlayerDecayInHours": 384,
    "NPPCommandPrefix": "!",
    "NPPAdminGroup": "NPPAdmin",

    "NewPlayerDoingDamageMessage": "You can't attack structures while under New Player Protection!",
    "NewPlayerStructureTakingDamageMessage": "You can't attack structures that are under New Player Protection!",
    "NewPlayerStructureTakingDamageFromUnknownTribemateMessage": "Your tribe can't attack structures that are under New Player Protection!",

    "NPPRemainingMessage": "New Player Protection Remaining: {} Day(s) {} Hour(s) {} Minute(s) OR {} level(s)! [Based on oldest/highest tribe member]",
    "NPPInfoMessage": "NPP Server Settings: Hours of Protection: {}, Max New Player Level: {}.",
    "NPPInvalidCommand": "Invalid chat command!",
    "NewPlayerProtectionDisableSuccess": "Your tribes protection has been disabled!",
    "NotANewPlayerMessage": "Your tribe is not under New Player Protection!",
    "NotTribeAdminMessage": "You are not a tribe admin!",
    "TribeIDText": "Target structure's Tribe ID: {}.",
    "NoStructureForTribeIDText": "Please face the middle of your screen towards the structure you want to retrieve the Tribe ID from.",
    "PVEDisablePlayerMessage": "PVE player can not disable their own protection",
    "PVEStatusMessage": "Your tribe is a PVE tribe",
    "NotAStructureMessage": "This target is not a structure!",
    "IsAdminTribe": "Everyone in this tribe is a NPPAdmin.",

    "AdminNoTribeExistsMessage": "No tribe with that ID exists; Tribe: {}",
    "AdminTribeProtectionRemoved": "Protection has been removed for Tribe: {}",
    "AdminTribeNotUnderProtection": "No protection to remove from Tribe: {}",
    "AdminResetTribeProtectionSuccess": "{} hour(s) of protection from now has been given to Tribe: {}",
    "AdminResetTribeProtectionLvlFailure": "A player is over the NPP Max Level. Cannot give protection to Tribe: {}",
    "AdminPVETribeAddedSuccessMessage": "Successfully added to PVE Tribes: {}",
    "AdminPVETribeAlreadyAddedMessage": "Tribe was already added to PVE Tribes: {}",
    "AdminPVETribeRemovedSuccessMessage": "Successfully removed from PVE Tribes: {}",
    "AdminPVETribeAlreadyRemovedMessage": "Tribe was already removed from PVE Tribes: {}",

    "MessageIntervalInSecs": 10,
    "MessageTextSize": 1.4,
    "MessageDisplayDelay": 10,
    "MessageColor": [
      1.0,
      0.0,
      0.0,
      0.0
    ],

    "NewPlayerProtection": {
      "NewPlayerMaxLevel": 60,
      "HoursOfProtection": 72
    },

    "StructureExemptions": [

    ]
  }
}


Commands:

Player commands:
  • !npp info ~ See what the current NPP settings are on your server
  • !npp status ~ Shows how much time/levels you have left before the protection wears off (Based on oldest and highest tribe member)
  • !npp disable ~ Disables protection for user's tribe (only tribe admins can do)
  • !npp tribeid ~ Displays targeted structure's Tribe ID
  • !npp path ~ Displays targeted structure's blueprint path for structure exemption

Admin Commands Console:
  • cheat NPP.RemoveProtection <Tribe_ID> ~ Removes Tribe protection of a certain tribe
  • cheat NPP.ResetProtection <Tribe_ID> ~ Resets start day to NOW and restores protection even if previously expired. Does not work on tribes with a player over "NewPlayerMaxLevel"
  • cheat NPP.AddProtection <Tribe_ID> <Hours> ~ Resets start day to NOW+Hours and restores protection even if previously expired. Does not work on tribes with a player over "NewPlayerMaxLevel"
  • cheat NPP.ReloadConfig ~ Reloads config and updates protection on the new config settings and resets protection for ALL tribes within new limits
  • cheat NPP.SetPVE <Tribe_ID> <Bool (1 for add, 0 for remove)> ~ Adds or removes a tribe from NPP PVE Status

Admin Commands RCON:
  • NPP.RemoveProtection <Tribe_ID> ~ Removes Tribe protection of a certain tribe
  • NPP.ResetProtection <Tribe_ID> ~ Resets start day to NOW and restores protection even if previously expired. Does not work on tribes with a player over "NewPlayerMaxLevel"
  • NPP.AddProtection <Tribe_ID> <Hours> ~ Resets start day to NOW+Hours and restores protection even if previously expired. Does not work on tribes with a player over "NewPlayerMaxLevel"
  • NPP.ReloadConfig ~ Reloads config and updates protection on the new config settings and resets protection for ALL tribes within new limits
  • NPP.SetPVE <Tribe_ID> <Bool (1 for add, 0 for remove)> ~ Adds or removes a tribe from NPP PVE Status

After the server boots, a "NewPlayerProtection.db" file will be created in plugin's directory. It contains all the information about players, tribes, start dates, and if they are protected. Do not attempt to edit this database while the server is running!

Installation:
  1. Install ARK: Server API
  2. Install the Permissions Plugin
  3. Copy "NewPlayerProtection" folder to "ArkApi/Plugins"
Upgrading:
  1. Delete all previous plugin files including .db files then copy ALL files over to the "NewPlayerProtection" folder in "/ArkApi/Plugins/"

NOTES:
  • The PlayerUpdateIntervalInMins config option determines how often players are checked to see if protection should be turned off. Therefore, it can take that amount of time for protection to update after the NewPlayerMaxLevel or DaysOfProtection condition is met for a player. Increase this amount if you have a large player base (Feedback seems that about 2-3 minutes less than your server's save interval works well).
  • New Player tribe protection is turned off whenever one of these conditions are met: a tribe member reaches NewPlayerMaxLevel or DaysOfProtection, admin or player chat commands are used, or an unprotected player joins.
  • This plugin makes ALL New Player tribe structures invulnerable to damage until they lose their protection.
  • Does not effect non-tribe structures.
  • If a protected New Player joins an unprotected tribe, they lose their protection.
  • Admins will not break a tribes protection if they join it and IgnoreAdmins is true.
  • This plugin should be safe to remove or add during any stage of a servers lifetime, however, if added on an established server, there are edge cases where a tribe may be protected under the time limit if online tribe members meet the protection criteria but an offline tribe member who would be out of protection hasn't logged in since it was added.
  • Tribes that have been offline since the plugin was added can not be protected until they log in.
  • The database must be deleted whenever a server is wiped to remove the stale data.
  • The database is only updated on world saves. This means all calculations are done in memory at run-time. It also increases the integrity of the database by insuring the database is in sync with your world save files in the event of a server crash. (unless it crashes on a save or the save files become corrupted)
  • I would highly recommend having a separate database for each server on your cluster, and allow protection to be unique per server. Multiple servers loading and writing to the database on world loads and saves can cause the database to lock up and compromise the integrity of the data.

Special thanks to TyrelSackett, ColeSlawter, and the Patreons over at the Ark AGB Community for providing ideas, support, and testing of the plugin!

GitHub: barnwellrd/New-Player-Protection
Donations: Paypal.me!

****Please email any bug reports to [email protected] or contact me on Discord: Rogue Leader#5458*****
Author
barnwellrd
Downloads
1,868
Views
15,017
First release
Last update
Rating
4.91 star(s) 23 ratings

More resources from barnwellrd

Latest updates

  1. [UPDATE:] New Player Protection V1.91

    - To upgrade from 1.9, copy ALL files except config.json Change Notes for V1.91: - Fixed...
  2. [UPDATE:] New Player Protection V1.9

    Fixed steam id issue: may require DB deletion since DB steam ids may be fubarred Fixed bug...
  3. [UPDATE:] New Player Protection V1.87

    Added new config option to enable debugging info in the console (EnableDebugging) Added new...

Latest reviews

Amazing plugin only thing is im having issues with some tribe ids being "invalid" even though the id is perfectly valid and it works for most tribes and if the cooldown has already run out and i wan't to add a custom amount instead of just resetting it and i use "add" it goes to -10 hours anyone know how to fix those 2 things? if it made any sense
:D
With the last version, all ping issues are fixed, nice plugin and nice devs
After this update and maintenance, put the plug-in in. After startup, the server will delay 255 directly. I don't know what happened
Excellet plugin, saved me many times, great dev!
Excellent work. I wish there were more people like you, developing more accessories for Ark
FIX C4 Tank turre :((
B
barnwellrd
Please submit a bug report in the Discord if you think you have a bug.
Works great! The ping spike is to be expected when the plugin is running its timed checks, it works, and works very well. Thanks for the update! It is very much appreciated!
like it
How to solve C4 problem
B
barnwellrd
Should be resolved in 1.87
Top