SkillAgentSearch skills...

EssentialsPlugin

Dedicated Essentials Plugin

Install / Use

/learn @Tyrsis/EssentialsPlugin
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Dedicated Server Essentials - Plugin

Requirements

This plugin requires SEServerExtender v2.11.20 or above. Please download and install that first from https://github.com/Tyrsis/SE-Community-Mod-API/releases.

This plugin requires a workshop mod. This mod acts as a gateway between the client and server and is required for some functionality to work (private messaging, faction messaging, command hiding): http://steamcommunity.com/sharedfiles/filedetails/?id=340095691

This plugin is available at github at: https://github.com/Tyrsis/EssentialsPlugin/releases

Please most issues you have with the plugin at: https://github.com/Tyrsis/EssentialsPlugin/issues

Overview

This plugin is aimed at being an essential plugin to run on dedicated servers running extender. It will cover a lot of very basic requirements for server administration. This plugin looks to really show off how valuable server extender can be, by providing a lot of built in cleaning and adminstrative options and commands.

There are many options in this plugin, and those options will expand as time goes on. Every section of the plugin can be disabled if desired, to tightly control what an administrator wants to do.

Installation

If you're just using the archive provided, just unzip the archive into it's own sub directory off the Mods directory of your world instance.

If you want to compile the source provided. Compile and copy the .dll created after compiling of this project into it's own sub directory of your Mods directory of your instance. Also move the .sbc files included the .zip archive of any of the releases into that directory as well.

Please make sure to add the associated workshop mod as well. It is ID: 340095691. Just add this mod in extender Mods section of the configuration and it will install automatically on restart!

It's that easy!

Major Feature Overview

  • Automated Backup
  • Automated Restart with notifications
  • Chat Information commands with interval based repeating
  • Automated Join Messages for new and old players
  • Automated new player spawn movement
  • Advanced Administrator Commands
  • Player Login Tracking
  • Private and Faction Messaging
  • Chat based settings
  • Safe Docking
  • Advanced Grid Scan
  • Timed Cleanup and Triggered Cleanup
  • Dynamic Entity Management
  • Waypoint System
  • Block Enforcement

In depth Feature Analysis

Please note the following commands are all set via the plugin interface.

Automated Backup

This is an option that all administrators should use. It will automatically backup your world save files in a backup directory. It will also compress them down so they don't take up too much room. And lastly this option will also cleanup old backups.

Options:

  • BackupEnabled - This allows you to turn Backup off or on
  • BackupCleanup - This allows you to turn Cleaning up of the backups off or on
  • BackupCleanupTime - The amount of time, in days, that a backup will last before cleaned up
  • BackupCreateSubdirectories - This option forces the backup to put a separate backup in a new directory each time it occurs
  • BackupAsteroids - Enabling this option will make the backup process include asteroids in the backup file. If disabled, the .vx2 files will not be saved.
  • BackupItems - This is where you define when you want a backup to occur. You specify the hour and minute of the day you wish the backup to happen. Items are defined as follows:
    • Enabled - Enable / Disable this backup item
    • Hour - The hour to run this item in the range between 0-23. If you specify -1 for this option it will run every hour
    • Minute - The minute to run this item in the range between 0-59.

Automated Restart with Notifications

This option allows you to schedule automated restarts of your server. Sadly the game is not memory leak proof, and a quick restart can fix a lot of issues. This option also comes with the ability to notify your users of impending restarts at timed intervals.

Options:

  • RestartEnabled - This allows you to turn Restart off or on
  • RestartAddedProcesses - This is a multline field that allows you to run things in between restarts. Each line is a separate process in the restart batch file.
  • RestartItems - These items allow you to define notifications that occur before a restart happens. You set a message, you set the minutes before restart the message will be shown, and you can force a save or stop all ships. They are defined as followed:
    • Message - This is the message that will be broadcasted to all users
    • MinutesBeforeRestart - This is the amount of time before a restart that this message is sent
    • Save - This option allows you to force a save
    • StopAllShips - This option allows you to forcefully stop all ships that are not piloted
  • RestartTimeItems - These items allow you to define a time of day of when you'd like a restart to take place. They are defined as followed:
    • Enabled - Enable / Disable this restart time item
    • RestartTime - 24 hour time of day when this restart should occur

Note that this feature restarts SESE only. For your server to restart completely, SESE should be launched with the autostart parameter, as follows:

c:\PathToSpaceEngineers\SEServerExtender.exe autostart instance="instance name"

Chat Information Commands with interval based repeats

This option allows you to setup commands that users can access that allow administrators to display server information to the user. The command /info is the base command, and the administrator then defines sub commands to display different types of information. For example defining a sub command 'motd' that gives a general message to users is setup with a sub command of motd. The user then types /info motd to see it. You can then specify if you'd like that message to be displayed for everyone at intervals. So for example you can set it up to send that message once every few hours, even if a player doesn't type the /info motd command.

Options:

  • InformationEnabled - This allows you to turn Information commands off or on
  • InformationItems - This lets you define information commands. Defining an item is pretty simple.
    • Enabled - Enable / Disable this information item
    • IntervalSeconds - The amount of time it takes for this item to be broadcasted publically. Set to 0 to not have it broadcast
    • SubCommand - The command a user types to view this information item. If you leave this blank, users will not be able to view this command via /info, and will only see it if you use it in an interval.
    • SubText - The actual text that is displayed with this item is queried using the /info command or broadcasted. You may use the %name% tag which gets replaced by the user's name. This is a multiline text, and each line will be broadcasted individually per interval as well. So this allows you to setup messages that get sent in order.

Automated Join Messages for new and old players

This option allows you to greet players with a custom message. New and old players can receive different messages. You may also use the %name% tag that will be replaced by a users username. This allows for a highly customized greeting.

Options:

  • GreetingEnabled - Enable / Disable Greetings
  • GreetingMessage - Message to normal users. You may use %name% which gets replaced with the user's name, for personalized greetings.
  • NewUserGreetingMessage - Different message to new users. You can use %name% as well.
  • GreetingItem | GreetingNewUserItem - This allows you to launch a dialog with a Message of the day style greeting for the user to see when he logs in. One is for a returning user, and the other is for a new user. Each item has the same settings:
    • Enabled - This enables / disables this item
    • Title - This is the text that appears at the top of the dialog
    • Header - This is the text that appears below the title
    • Content - This is the text that appears in the dialog area. This is the part that can be as long as you desire.
    • ButtonText - This is the text that appears on the button at the bottom of the dialog.

Automated New Player Spawn Movement

This option allows you to move players closer to viable asteroids. A viable asteroid is one that has more than 3 different base materials. It will then move them closer to that asteroid. This is useful for servers with asteroids that are very spread out. Right now the asteroid selected will be random. More options are coming for this

Options:

  • NewUserTransportEnabled - This allows you to turn automated transport off or on.
  • NewUserTransportDistance - Distance from a viable asteroid that they will be moved.

Player Login Tracking

This option allows administrators to track user logins. This allows administrators to delete grids by owners who no longer login. The first time this is run, it will scan your server logs, and extract older login information so that your login list is up to date.

Options:

  • LoginEnabled - Enable / Disable player login tracking. It is recommended to enable this as it adds a lot of functionality.
  • LoginEntityIdWhitelist - This is a list of entities that will never be considered "inactive". This allows administrators to protect grids from inactivity scans / deletions
  • LoginPlayerIdWhitelist - This is a list of player ids that will never be considered "inactive". This allows administrators to protect player grids from inactivity scans / deletions. Please note this is IDs and not player names.

Chat Based Settings

All settings are set through the UI, but settings can also be done via chat. Please use the command '/admin settings' to set settings. You can set settings using the

Related Skills

View on GitHub
GitHub Stars15
CategoryDevelopment
Updated1y ago
Forks8

Languages

C#

Security Score

60/100

Audited on Nov 27, 2024

No findings