New Player Protection

New Player Protection 1.9

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,290
Views
2,593
First release
Last update
Rating
4.57 star(s) 21 ratings

More resources from barnwellrd

Latest updates

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

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

    Added new config option to enable debugging info in the console (EnableDebugging) Added new...
  3. [UPDATE:] New Player Protection V1.81

    Change Notes for V1.81: - Fixed crash that occurred when sometimes checking a dino's name for...

Latest reviews

Excellet plugin, saved me many times, great dev!
Excellent work. I wish there were more people like you, developing more accessories for Ark
hey
06/16/20 05:11 [API][warning] (API::PluginManager::LoadAllPlugins) Failed to load plugin - NewPlayerProtection
Error code: 1114
I installed API 3.4 and posted permission 1.6, but it does not work.
B
barnwellrd
1114, AKA user error. Your config is broken. Set it to default and make small changes till you fix it. And next time try troubleshooting on your own before leaving a bad review??? Or just don't use the plugin. I literally have 0 time to hold your hand.
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
Clearly people can't read and don't make any effort to get support.

The !npp disable bug has been addressed, discussed, with some working fixes posted in the support discord.

The C4 lag was also addressed. Sucks that lazy people give bad ratings.
Seems to can't get this plugin to wark, i'm sad, when i want to remove the protection from a tribe they still have it...
B
barnwellrd
Shame. I have a whole discord setup to help people figure it out. That would have been a good place to start when you were having issues.
Great plugin, easy to use, easy to configure, Perfect for my hybrid PvE/PvP server.
Top