Mods / Skid-Inc Server Utilities

Tags: #Utility
Author: SkidInc
Side: Server
Created: Sep 6th at 1:48 PM
Last modified: Oct 27th at 10:59 AM
Downloads: 91
Follow Unfollow 9

Recommended download (for Vintage Story 1.21.0 - 1.21.5):
skidincserverutilities_1.2.0.zip  1-click install


Skid-Inc Server Utilities provide 4 configurable modules primarily for use on dedicated servers. Each module can be individually turned on or off, and configured in the ModConfig/SkidIncServerUtilities.json file.

Important Notes:

  • The configuration file will only generate once the server has loaded the mod once. Because of this a copy of the default config is included in the zip file.
  • All 4 modules are disabled by default.

Starting Inventory:

Intended to provide the ability to define a set of items that will be given to players when they first connect to your server (on PlayerCreate), also provides the ability to give the same set to of items the players on respawn (on PlayerRespawn).

Starting Inventory Configuration
  • Enabled: If true, enables the StartingInventory module.
  • GiveOnCreate: If true, the items listed will be given to players when the first join the server.
  • GiveOnRespawn: If true, the items listed will be given to the players on respawn.
  • RespawnItemTimeout: Time in second that a player must be alive for before, default 120 seconds. Must always be 1 or greater.
  • Items: Array listing every item and their quantity that will be given when triggered.
    • Code: The ingame code, including domain, for the item/block to give, typically in the format of "mod:some-thing-here", you can find an item/block code by enabling Developer Mode, then Extended Debug Info, if you then hover over any item/block icon, including the handbook, it will list the code. Note, you want the Code from the tooltip, not the Page code listed in the top of the handbook entry.
    • Number: The quantity to give the player, if 0 or less, the item will not be given.
  • RespawnItems: (Optional) If included this list will be used when a player respawns, defaults to null, leave as null to use the Items list on respawn.
    • Code: Same as Items/Code.
    • Number: Same as Items/Number.

Respawn Protection:

Intended to make sure a player that dies isn't instantly killed again when they respawn, players will gain a Magical Bubble of Protection when they create a character, join, or respawn that will cause all mobs to ignore them. This bubble will last until they press a movement key (they can sit and jump in spot all they like), or trigger a left or right mouse event, or a set amount of time has passed.
Idea ripped wholesale from the GregTechNewHorizon Minecraft modpack.

Respawn Protection Configuration
  • Enabled: If true, enables the Respawn Protection module.
  • MaxProtectTime: The length of time in seconds the player will be protected for if they perform no actions, default 10 minutes. Must always be 1 or greater.

Scatter Spawn:

Intended for servers where working on your own is the idea, or getting together to build a town require significant effort. Will create unique spawn points for each player that will be used if they haven't created a new one with a temporal gear, this spawn point replaces the location of the middle of the map when the server decides where to spawn a player. This means the spawnRadius world configuration will still randomize the location the player is spawned, just around their spawn point rather then the middle of the world.
Note, this system work when the server tries to spawn the player relative to the middle of the world, if you have a spawn location set via roles or via the DefaultSpawn world configuration setting, that spawn will be used instead of Scatter Spawn's. Also changing the settings after people have been assigned spawn locations could result in 2 players being closer to each other then intended.

Scatter Spawn Configuration
  • Enabled: If true, enables the ScatterSpawn module.
  • MaxNorthLatitude: Must be less than 0, defines the max distance north of world spawn a player spawn can be.
  • MaxSouthLatitude: Must be greater than 0, defines the max distance south of world spawn a player spawn can be.
  • DistanceBetweenSpawns: The size of the grid to use to generate individual player spawn locations.
  • SpawnPointDeviation: The max distance away from the grid location the actual spawn point will be. Must be 0 or greater.
  • SpawnPointAssignment: Selects the mode by which to assign new players their spawn point.
    • Random = Creates 2 rows of spawn points, one to the left & right of the middle of the world, randomly assigns spawn points from these until 50% are used, then creates 2 more rows and repeats.
    • Sequential = ...NOT IMPLMENTED... Assigns spawn points one after another in an expanding diamond formation from the middle of the world.
  • CoordinatesToPlayerSpawn: If set to true, the players map and coordinate HUD element will show 0, 0 as this spawn point, not the worlds. Note: Due to the way this is implemented this will only take effect the second time they login, setting best used with Craftable Cartography.

Auto Backup:

Provides an automated save file backup, if a backup should be run, it is triggered after the world finishes saving, at which point it will copy, compress and store the world save file.

Auto Backup Configuration
  • Enabled: If true, enables the AutoBackup module.
  • QuickBackupFolder: The location quick backups are stored, defaults to "ServerUtilitiesBackups" in the VS data folder. May not be blank.
  • DailyBackupFolder: The location daily backups are stored, defaults to "ServerUtilitiesBackups" in the VS data folder. May not be blank.
  • QuickBackupTime: Time in minutes between quick backups. Must be 1 or greater.
  • MaxQuickBackups: Number of quick backups to be created before the oldest quick backup is deleted. Must be 1 or greater.
  • MaxDailyBackups: Number of daily backups to be created before the oldest daily backup is deleted. Must be 1 or greater.

 

https://www.youtube.com/@SkidIncGaming
https://www.twitch.tv/skidinc
https://discord.gg/GnrFAQm

Mod Version For Game version Downloads Released Changelog Download 1-click mod install*
1.2.0
1.21.0 - 1.21.5
32 Oct 27th at 10:59 AM skidincserverutilities_1.2.0.zip 1-click install

Changed Auto Backup to use a dedicated thread for the backup itself rather then a callback, this should stop the connection thread from outright hanging while it's compressing the save file.

1.1.1 26 Sep 23rd at 9:26 PM skidincserrverutilities_1.1.1.zip 1-click install

Added the warning log message to the create item list as well, not just the respawn one.

1.1.0 7 Sep 23rd at 9:04 PM skidincserrverutilities_1.1.0.zip 1-click install

Fixed a couple of location where I was calling the wrong Logger.

Added a warning log message for if StartingInventory fails to find a block or item for a given item code.

Added RespawnItemTimeout config, to prevent exploiting getting items on respawn by dyeing over and over again.

Added an optional RespawnItems config, to allow server admin to give a separate set of items on respawn to first spawn.

1.0.0 26 Sep 11th at 11:26 AM skidincserrverutilities_1.0.0.zip 1-click install

Initial release.


2 Comments (oldest first | newest first)

💬 SkidInc , Oct 27th at 11:00 AM (modified Oct 27th at 3:10 PM)

First issue should be fixed, you will probably still get some lag due to zipping large files taking a lot of CPU processing but the connection thread shouldn't outright hang anymore on servers.

💬 SkidInc , Oct 26th at 3:49 PM

I've noticed a couple of issues now I have my server running so I wanted to note them here until I've had change to look into them, some extra info confirmation on the second issue would be helpful as well.

Firstly Auto Backup seems to hang the connection thread on the server, I was hopping running it as a callback would of caused it to be run on an unimportant thread but seems not, so I'll have to rework it to make it threaded or use some different methods.

Secondly I've had an instance of Starting Inventory and Scatter Spawn failing to trigger, this might actually be an API problem with PlayerCreate event, specifically I believe if a user attempts to connect to the server to get the modlist this causes the player to be created but imminently disconnected. The result is when they join proper PlayerCreate doesn't fire so both functions fail to run. I'm going to bring this up on the issue tracker for the API but it would be useful to know if anyone else has seen the same thing.

 (edit comment delete)
Основной веб-сайт | Почтовый сервер | FTP сервер | Административная панель | API интерфейс | Content Delivery Network | Статические файлы | Ресурсы сайта | Изображения | Файловое хранилище | Блог | Интернет-магазин | Техническая поддержка | Справочная система | Документация | Форум | Новости | Загрузки | Демонстрация | Тестовая среда | Приложение | Медиа контент | Разработка | Промежуточная среда | Бета версия | Безопасная зона | Вход в систему | Панель управления | Портал | Система управления контентом