New Player Protection

New Player Protection 1.81

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": "",
    "PlayerUpdateIntervalInMins": 1,
    "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!",

    "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*****
Likes: GamingOGs
Author
barnwellrd
Downloads
630
First release
Last update
Rating
4.83 star(s) 12 ratings

More resources from barnwellrd

Latest updates

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

    Change Notes for V1.81: - Fixed crash that occurred when sometimes checking a dino's name for...
  2. [UPDATE:] New Player Protection V1.8

    TONS of changes coming at you hot! Be sure to join the discord listed in the overview for any...
  3. [UPDATE:] New Player Protection V1.62

    Change Notes: Fixed crash where the server tried to speak with wild dinos

Latest reviews

Great plugin! But there is a small problem: the player tribe is in the protection period C4
Explosives will also be protected
Great plugin got it working and since then doing well!
Its working on structure.. but not on player.. can you help me if i am doing anything wrong.. i did not edit any thing juts used it as it is..
B
barnwellrd
Npp only works on structures.
Is Chinese not allowed in config?
B
barnwellrd
NPP and its config supports UTF-8. Make sure your config is encoded for UTF-8.
Terrific API, most definitely worth the 10$. Works great and we've had no issues whatsoever with it.
Awesome dev. The plugin works fine, there are some features I think should be added, and the dev is open to new ideas!
Awesome plugin with a lot of support and an amazing dev. 10 stars!
Opted for this plugin even for the $10 price tag and it clearly shows by what you get compared to other similar plugins that I have bad experiences with.

I added this plugin to my cluster mid-season and it works like a dream. After its ran its first check on all players it updated all those tribes who needed protection and those who didnt without any faults. With previous starter protect plugins ive used the problem occurs when 2 players create a tribe and the calculation on protection time remaining becomes unsynced. Here, this is not an issue. (My servers run protection for 3 days or until character level 75.)

There has not been a single circumstance where I've had issues with this plugin thus far.

The developer is clearly passionate about this plugin reaching its potential, and with a dedicated discord with active developers willing to help if there are questions or issues and frequent updates, dont look any further.

I would recommend this Starter Protection plugin over any other and it is well worth the $10.
if I could I would give 10 stars
Amazing Plugin With An Even Better Developer, Truly Can't Get A Better Deal
Top