Mods / Pols Server Utilities(Works in Single Player Also)

Category: #Other #Utility
Author: Polraudio
Side: Both
Created: Feb 15th 2021 at 7:38 PM
Last modified: Sep 13th at 11:39 PM
Downloads: 2153
Follow Unfollow 27

This mod will add some useful commands for servers such as the ability to set a home and teleport to it, teleport to spawn, warps admins can make that every player can use, a me command to talk in 3rd person and much more.

Note: This mod works for both server and clients. It also works as standalone version on servers so no need for clients to have it unless you want it in single player.

Everyone Commands:

This will list commands all players can.

/home works by teleporting the player to their current spawn point. This can be set by using a Temporal gear.

/home [name] teleports the player to a home they named.

/sethome [name] will create a players home with that name.

/homelist will display a list of the players homes.

/delhome [name] will delete a player home they named.

/spawn just teleports you to the world spawn location. AKA where you spawn for the first time.

/me [message] will let players talk in the 3rd person.

/uptime shows the servers current uptime since last restart.

/warp [name] will teleport you to a warp an admin has created.

/warplist will show all available warps that are on the server.

/cooldown will show how long you have left to wait to be able to teleport again.

/quit [message] will show everyone a message then will disconnect you from the server. Very useful for rage quitting with a reason :P

/players will show online players as well as a count. I know .online exists but i didn't like how it looked and well... discovered it after I already made it lol.

/rtp [Optional Distance] will randomly teleport players anywhere on the map at ground level(no more spawning 100+ blocks in the air).

/myinfo will show you your warnings, homes and deaths.

/rtime will show you the real time. Useful for those who play in full screen and want to check the time without doing alt-tab.

/back will bring you back to your last location before you teleported. Yes it works with deaths so you can get back to your body instantly.

/ping will let you see your ping to the server.

/rules list rules.

Admin Commands/Info:

This will list all commands only admins can use.

/saveconfig will save the config file. Handy to save the config before editing the config file.

/loadconfig will load the config file. Handy if you made changes to the config file when the server is running.

/heal will heal the admin for 100% HP and 50%(for some reason) food.

/setwarp [name] will set a public warp for all players to use.

/delwarp [name] deletes a warp.

/warn, /unwarn lets you add/remove warning points to a players profile.

/pinfo [name] lets you look up info on a player such as warning points

/deop [name] lets you deop yourself or someone else by putting their name. Much quicker than using the vanilla method.

/save will force save the world.

/backup will make a backup.

/mute [name] mute a player from chatting.

/unmute [name] allow a muted player to chat.

/findore /fo [distance down] Easy way to find ores with the prospecting pick.

/rules [add | remove] a list of rules for the server. /rules without add or remove will list the rules and anyone can list rules. You need to be an OP to add or remove rules.

The config file is saved when the server is shutting down and loaded upon startup.

There is also a server message you can set to broadcast to all players however often you want(in seconds). This can be set in the config file that is generated on first boot since the mod has been added.

Config Location: AppData\Roaming\VintagestoryData\ModConfig\PolsServerUtilities\[WORLD NAME].

Note: Location may vary depending on your setup.

Inside the config folder will be a folder for each wold you have used the mod with. Each world will have its own configs.

Other Notes:

/home without any name still requires you to use a Temporal gear. This is intentional since /home is so fast it should require at least some effort for the speed of going home quickly.

/home with a name however doesn't require a Temporal gear.

Game Version: 1.17.X+

Planned Features(Maybe):

  • A tips system that will show tips every so often(if you have tips to add feel free to private message me).
  • Sleeping will sleep through the entire night.
  • A friends list. Might be used to allow friends to use your home teleports and maybe other things?
  • More as I think of some.

If you have any suggestions feel free to let me know. I'm still new to modding this game but i'm getting better every day.

Version For Game version Downloads Release date Changelog Download
v1.2.10 374 Sep 13th at 11:39 PM Show Pols Server Utilities 1.2.10.zip
v1.2.9 153 Aug 31st at 6:35 PM Show Pols Server Utilities 1.2.9.zip
v1.2.8 242 Jul 12th at 3:16 AM Show Pols Server Utilities 1.2.8.zip
v1.2.7 62 Jul 10th at 7:51 PM Show Pols Server Utilities 1.2.7.zip
v1.2.6 66 Jul 7th at 1:35 AM Show Pols Server Utilities 1.2.6.zip
v1.2.5 53 Jul 6th at 8:41 PM Show Pols Server Utilities 1.2.5.zip
v1.2.4 265 Dec 28th 2021 at 1:55 AM Show Pols Server Utilities 1.2.4.zip
v1.2.3 185 Nov 26th 2021 at 6:57 AM Show Pols Server Utilities 1.2.3.zip
v1.2.2 151 Nov 22nd 2021 at 8:21 AM Show Pols Server Utilities 1.2.2.zip
v1.2.1 274 Jul 9th 2021 at 6:17 AM Show Pols Server Utilities 1.2.1.zip
v1.2.0 328 Feb 15th 2021 at 7:40 PM Show PolsServerUtilities1.2.0.zip

38 Comments (oldest first | newest first)

💬 Polraudio, Nov 6th at 5:45 PM

EchoCian Sory for the late reply do you mean like an admin command to see other players homes? and what info would you like to see in that list, would you want the coordinates or just a list? I can just make it a list and also have an admin command to teleport to other peoples homes. To print every home of every player in the chat box isnt possible with how small the chat history is.

💬 EchoCian, Oct 11th at 12:03 AM

Could /homelist or another command give a list of homes all players have set, not just your own?

💬 Polraudio, Sep 13th at 11:41 PM
  • Added rules command
    /rules [add | remove] a list of rules for the server. /rules without add or remove will list the rules and anyone can list rules. You need to be an OP to add or remove rules.
💬 Polraudio, Aug 31st at 6:35 PM
  • Fixed /findore command to be compatible with the new block layers system added in 1.7.
  • Added /fo command. This is a short version of /findore
  • Added a mod icon.
💬 Polraudio, Jul 27th at 5:59 PM

This mod still works with the RC versions of 1.17 but i will update it with the proper changes once 1.17 fully releases. I also updated the messy source code and made it more messy for anyone interested in that since its been a while since i have done so.

💬 Polraudio, Jul 12th at 3:34 PM

OH thats strange then. I never had it fully put me inside a block that i couldnt get out of by simply walking out. Ill def have to look into that then. Sadly i cant do hotkeys since its not a client side mod BUT if you didnt know you can just hit the up arrow in chat and press enter and it will just redo the last command or text message you sent. And yea i can shorten it also.

💬 Devestatio, Jul 12th at 12:51 PM

yea like those things all happened after I removed the other mod, but as I stated, it was fine after the first one, not sure why the first one did a random distance. Any way to add a hotkey for that new find ore command? that would be perfect, as having to type that out each time is a pita, or maybe an alias command like /fo to shorten it? And the issue with it spawning in a block, is that I can't break out of it, I have to go into creative with noclip enabled to get out each time.

💬 Polraudio, Jul 12th at 3:24 AM
  • -Added /findore [Distance Down] command. If you are tired of the default prospecting system i have a solution for you. Easy mode prospecting has arrived. It will tell you what ores are found in the given distance starting at the block you are standing on going down 1x1. Since ores are generated in a disc you should have no problem finding the ores you are looking for.
    NOTE: This will also consume durability on your prospecting pick to make things balanced as the pick is required still.
  • Added a config to turn this feature off also.

Note: This command is enabled by default.

Devestatio It might have been the other mod conflicting with it because it always teleports me within the distance i provide. Not sure why its teleporting into the sides of blocks. Something ill have to look into but at least its never fully inside a block that will kill you.

💬 Devestatio, Jul 10th at 11:20 PM

Polraudio settting the distance worked great, but it placed me inside of blocks every time. It didn't place me inside of blocks before this new version. Also the first time I used it, I did /rtp 250 and it sent me around 1k away, the rest where small 250 jumps. I might not have noticed this before, as I didn't realize I still had Bunny's Just Random Teleport mod still installed as well. I removed it since you added the functionality to set distance on yours. Definitely prefer yours as it has a lot more functionality included, and theirs are single command mods.

💬 Polraudio, Jul 10th at 7:52 PM

Mod updated to 1.2.7

  • Added /ping command so people can see their ping to the server.
  • Added /mute [player] and /unmute [player] so admins can mute naughty players(yes this also mutes /me with a troll message).
  • Added config to turn off the mute system because there is a chance it might conflict with other chat mods.
  • Added the ability to supply a max value when using RTP via /rtp [max distance]. Sadly the minumum is still 0 but ill try to figure out something in the near future.
  • Fixed the max rtp distance to take into account the max size of the world so smaller worlds should work fine now from my testing hopefully.
  • Made the default rtp distance lower so players are not thrown all the way to the edges of the world. If you want to go out further or closer use it with arguments.
  • /pinfo [player] and /myinfo now shows if a player is muted.

Devestatio Let me know how that works for ya.

💬 Devestatio, Jul 9th at 7:35 AM

Polraudio Yea I think it might have been that bug, the new map I made was small, only 250k, so since yours likes to send you 100k or more, that could have been the issue. Should be resolved once you add the option to set the distance, would also suggest to set the deafult to something small like 5k-10k radius, so this doesn't happen again.

💬 Polraudio, Jul 9th at 6:37 AM

Devestatio I have noticed a bug with the current version that i have fixed in the next version. I messed up the range so sometimes it teleports you outside the max size of the world and sometimes that can cause a crash. Im not sure why that mod would conflict either. Ill look at its source code if its available and see if i can see any possible conflicts.

💬 Devestatio, Jul 9th at 5:47 AM

Ok so I think it was the mod "surface translocators", I removed it and started a new world again, and it's working fine now. Not sure why that mod would break the random teleportation though, as all it does it spawn translocators on the surface as well as the the standard ones below.

💬 Devestatio, Jul 9th at 2:09 AM

Polraudio Hey I am getting this crash everytime I try to use /rtp in a newly created world. sorry in advance for the long post, wish there was a spoiler tag to hide it.

 

These are my config settings:

{
"enableRepeatingMsg": false,
"repeatingMsgIntervalSec": 600,
"repeatingMsg": "This server eats boogers for power!",
"rtpSearchTimer": 7,
"maxHomes": 12,
"spawnCooldownSec": 5,
"homeCooldownSec": 5,
"warpCooldownSec": 5,
"rtpCooldownSec": 300,
"backCooldownSec": 5,
"adminCooldown": false,
"enableSpawn": true,
"enableHomes": true,
"enableWarps": true,
"enableRTP": true,
"enableBack": true,
"enableBlockLogs": false
}

 

----------------------------------------------------------------------------------------------

 

Running on 64 bit Windows with 32 GB RAM
Game Version: v1.16.5 (Stable)
Loaded Mods: advancedsmithing@1.2.0, Autorotor@1.1.2, backpackpackplus@1.0.3, betterarchery@3.0.0, betterbackpacks@1.0.0, bettercrates@1.4.2, betterdrifters@2.1.3, betterpoultice@1.0.0, cavecontent@1.0.1, craftables@1.1.1, expandedfoods@1.5.3, extendsbedtime@1.0.0, extrachests@1.5.2, fixroads@1.3.1, FlexibleTools@1.3.1, fulldrop@1.0.0, HangingOilLamps@1.0.1, itemlights@1.0.2, juicyores@1.0.0, lightedpaths@0.1.1, longertorchtime@1.0.0, moreclasses@1.2.4, moredungeons@0.1.1, MoreResin@1.0.0, necessaries@1.1.2, nomadmodemod@1.0.8, nomolding@2.0.0, notradermoneylimit@1.0.0, OresAPlenty@2.5.0, preservationmod@1.0.0, primitivesurvival@2.9.4, qptech@1.10.1, quickerbarrel@1.1.0, rope-bridges@1.1.0, sortablestorage@1.0.3, stackables@2.0.5, ldsurftrans@0.1.0, locustmod@2.3.5, usefulscrap@2.0.2, game@1.16.5, vshud@1.5.17, zeekea@1.6.1, zoombuttonreborn@1.2.0, alchemy@1.6.3, egocaribautomapmarkers@2.3.0, captureanimals@2.1.1, carrycapacity@0.6.5, dsdebarkedlogs@1.0.5, farmlanddropssoil@1.4.0, fixbadrecipes@1.0.2, helvehammerext@1.2.1, hudclock@2.7.0, jlj@1.0.1, miningtools@1.1.4, morerecipes@1.5.1, morevariants@1.5.0, prospectorinfo@3.1.2, ruinvariants@1.0.0, slidingdoor@1.0.0, ssppvv@1.0.3, vanvar@1.1.3, vgaas@1.0.0, creative@1.16.5, survival@1.16.5, wildfarming@1.3.3, woodbarrels@1.0.2, woodchests@1.0.3, workbenchexpansion@1.4.1, metalrecovery@0.1.17, bullseye@2.3.2, carryablelogwithresin@1.0.0, tradercamps@1.0.0, compatibilityfix@1.0.0, moreseeds@1.5.0, xinvtweaks@1.4.1, yabbaglasschapter@1.1.0, bricklayers@0.9.2
7/8/2022 4:50:13 PM: Critical error occurred
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.Collections.Generic.List`1.get_Item(Int32 index)
at VintagestoryServerUtils.Main.d__71.MoveNext() in E:\Vintage Story Mods\VSModTemplatePols\vsmods\mods\pol001\src\Main.cs:line 1150
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
-------------------------------

Event Log entries containing Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 7/8/2022 4:50:17 PM, Site = , Source = Windows Error Reporting, Message = Fault bucket 1619335833188412375, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: Vintagestory.exe
P2: 1.16.5.0
P3: 625674b5
P4: mscorlib
P5: 4.8.4515.0
P6: 624ce856
P7: 33d
P8: 2e
P9: System.ArgumentOutOfRange
P10:

Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER5C1A.tmp.dmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER6207.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER6227.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER6235.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER6255.tmp.txt

These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Vintagestory.exe_d866b33754839d47121f48faa0cf13c5467d26_1f70e3ae_566fab67-6cc2-491c-b66f-1025bcebb297

Analysis symbol:
Rechecking for solution: 0
Report Id: b62b33dc-e503-4382-882b-1929bc82c362
Report Status: 268435456
Hashed bucket: 4e90a86d0988572ce679095c5541abd7
Cab Guid: 0 }
--------------
{ TimeGenerated = 7/8/2022 4:50:15 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.16.5.0, time stamp: 0x625674b5
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1741, time stamp: 0xe9b4a91b
Exception code: 0xe0434352
Fault offset: 0x0000000000034fd9
Faulting process id: 0x372c
Faulting application start time: 0x01d8930a01e69aee
Faulting application path: Z:\Program Files\Vintagestory\Vintagestory.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: b62b33dc-e503-4382-882b-1929bc82c362
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 7/8/2022 4:50:13 PM, Site = , Source = .NET Runtime, Message = Application: Vintagestory.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentOutOfRangeException
at System.ThrowHelper.ThrowArgumentOutOfRangeException(System.ExceptionArgument, System.ExceptionResource)
at System.Collections.Generic.List`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Item(Int32)
at VintagestoryServerUtils.Main+d__71.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()

}

💬 Devestatio, Jul 8th at 1:48 AM

Polraudio Sounds great, can't wait for the update. Thanks again for all your efforts on creating this mod for us, and for staying on top of it as well. <3

💬 Polraudio, Jul 7th at 6:18 PM

Devestatio I have managed to make a range option for RTP. Once i get other features complete ill update the mod. Sould be no later than Wednesday next week as i plan on working on features all week long.

💬 Polraudio, Jul 7th at 3:31 AM

Devestatio I was thinking about adding that earlier. I think i will now that you suggested it. I might make it so you can do /rtp [Distance]. Right now im working on letting server admins mute bad players from chat.

💬 Devestatio, Jul 7th at 3:28 AM

Polraudio A suggestion I would make for the rtp, maybe add a min and a max distance variable, instead of a a fixed one. and lower it quite a bit. I wanted a random tp, but I didn't expect to be sent to the other side of the map lol.

💬 Polraudio, Jul 7th at 2:58 AM

Devestatio No problem. I still have to look into making the rtp better. Thank you for using my mod.

💬 Devestatio, Jul 7th at 2:51 AM

Polraudio Ok the correct world had the setting automatically added, and upping it to 7 worked great :) odd that I would need to increase that, I have a really good PC, it is 3yrs old though, but I wouldn't think that would make that big deal. Thank you for your help, and updating that for me and those like me :)

💬 Polraudio, Jul 7th at 2:31 AM

Devestatio You might have to delete your config and have it generated again.

💬 Devestatio, Jul 7th at 2:27 AM

Polraudio I am running the new version now 1.2.6, but the config shows no setting for rtpSearchTimer.

nm, was looking at the wrong world file :\

trying the new setting now, will update if and what works. I don't have a crap PC, and run the game on max graphics, so not sure if this is the issue, but we'll see.

💬 Polraudio, Jul 7th at 1:43 AM

Devestatio Ok i have added a config for adjusting the waiting time when its loading a chunk. The default you are using right now is 5 seconds so try something higher like 7 maybe to see if that allows it to load. 5 works perfectly fine for my computer and home server but you may need a larger number depending on how powerful your computer is. The config is created after you load up your map with the 1.2.6 update and is located in C:\Users\[Your User]\AppData\Roaming\VintagestoryData\ModConfig\PolsServerUtilities\[Your World Name]\MainConfig.json and look for the line "rtpSearchTimer": 5, after you change the config you dont have to reload the game just simply type /loadconfig and that should load the changes you made to the config file.

💬 Devestatio, Jul 7th at 1:09 AM

Polraudio I have been trying it for 2 days now, and it never works. Have even tried it about a dozen times since I posted the issue. and I even updated to your update today, and it still doesn't work.

💬 Polraudio, Jul 6th at 10:50 PM

Devestatio Sometimes you may have to try it more than once. If it does it every single time let me know because i might have to change a few things.

💬 Devestatio, Jul 6th at 10:04 PM

@Polraudio The /rtp command doesn't seem to work, it just says "Failed to find landing zone". I am in single player, so server load is not an issue, and I haven't teleported anywhere else, so not sure what's going on.

💬 Polraudio, Jul 6th at 8:43 PM

Mod updated to 1.2.5

  • Added /back command. The back command will bring you back to your last location before you teleported. Yes it works with deaths so you can get back to your body instantly.

Note: This has been tested with the pre version of 1.17 so it should work when the final release of 1.17 comes out.

💬 Polraudio, Feb 6th at 7:07 AM

I can try but no promisses.

💬 YourCreator, Jan 29th at 4:12 PM

Can you add prevent teleports when in fight (not abuse teleports)?

💬 Polraudio, Dec 28th 2021 at 1:55 AM

No features added in this release. Just made it work with 1.16+

Thank you for letting me know it didnt work with 1.16 Lisabet.

💬 Lisabet, Dec 26th 2021 at 8:03 PM

would love to use this in 1.16 :) 

💬 Polraudio, Nov 26th 2021 at 6:57 AM

Mod updated to 1.2.3

  • Added random teleport command via /rtp. RTP can randomly teleport a player anywhere on the map on ground level(not in the air).
  • Added config to disable/enable random teleports.
  • Added config for admins to bypass cooldowns.
  • Admins can set unlimited amount of homes.
  • Added useless /noclip command(Didn't realize it was a thing till after I made it. Might be fun to play with.)
💬 Polraudio, Nov 22nd 2021 at 8:21 AM

Mod updated to 1.2.2

  • Home cooldown now uses the correct variable. - Thank you SalteK for reporting it.
💬 Polraudio, Jul 9th 2021 at 6:18 AM

This mod has been updated.

NOTE: This version of the mod only works for 1.15.X+.
Changelog for 1.2.1

  • Added ability to disable /home, /warp and /spawn in the config.
  • Added /rtime that will show you the real current time on your computer. Useful for those who play in full screen and hate to alt-tab to check the time.
  • Added /backup thats a shorter version of /genbackup without arguments.
  • Added /save thats a shorter version of /autosavenow
  • Added /deop and /deop [playername] so you can easily make your self and others no longer admins. Way easier than dealing the the default way to do it.
  • Added /warn [playername] and /unwarn [playername] that will add a warning point to a players profile.
  • Added /pinfo [playername] so you can see info on players such as their join date, last time seen, homes, warn points, UID, and deaths.
  • Added /myinfo so players can see info on them selves, Same as the info above.
💬 Polraudio, Jul 1st 2021 at 12:14 AM

The next update is 95% ready and will be coming as soon as 1.15 is released. The new version will only work with 1.15+ because of some changes with the games code.

Also @Dobby you will have the ability to disable those commands in the next update.

💬 Dobby, Jun 9th 2021 at 9:56 AM

Thank you!

💬 Polraudio, Jun 6th 2021 at 4:08 PM

As of right now theres no way to disable them. You could however set homes to 0 and set the cooldown timers for something large like 2 billion(max value of a 32bit int since its an int). Sure they will be allowed to teleport once but after that so much time will be required before the next teleport that they will die of old age in real life before they can teleport again(unless they will be living for another 63 years).

When i get enough freetime in the next update ill add the ability to disable those commands.

💬 Dobby, Jun 4th 2021 at 12:18 PM

How can i disable the /home and /spawn
I only really want /uptime and /players

(edit comment delete)