Resource icon

Unmaintained [DEPRICATED] New Player Protection 2.1

No permission to download

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
The "Unmaintained" prefix is a technical term often used in the development world to signal that a specific piece of code, feature, or a resource is no longer actively managed or updated by its creators. It's similar to a 'Beware' sign on a physical property, warning visitors to proceed with caution.

For instance, if a developer creates a resource for other users to use, but later decides not to continue updating it due to various reasons like time constraints or shifting focus to other projects, they might attach an 'unmaintained' tag to it. This tag serves as a clear indication to other users that while they can still use this resource, they should be aware that it may not be up-to-date with the latest coding standards or security updates.

From a user perspective, an 'unmaintained' tag can help yourself identify resources that may not provide the best experience or security. It signals that the resource in question may have outdated features, potential security vulnerabilities, or bugs that are unlikely to be fixed.
Resource icon
[DEPRICATED]

This plugin is now free and open sourced.

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

Latest updates

  1. [UPDATE:] New Player Protection V2.1

    Change Notes: - Fixed Permissions Hanging (Removed API timers) - Fixed Negative NPP time from...
  2. [UPDATE:] New Player Protection V2.0

    - Updated to ARKAPI 3.52
  3. [UPDATE:] New Player Protection V1.91

    - To upgrade from 1.9, copy ALL files except config.json Change Notes for V1.91: - Fixed...

Latest reviews

Hello! All servers have a different database. How to make a shared database?

P/S The plugin is good, but underdeveloped.
Хороший плагин, быстрая и интуитивно понятная настройка даёт о себе знать , плюс этого плагина что он и бесплатный только вот очень жаль что его разработку забросили
Tebex
Rogue Vikings Discord Server - Rogue Vikings Gaming Servers - Minecraft Prison Servers - Minecraft Creative Servers
Tempest Dedicated Servers
Monetize your ARK server
Back
Top