Mods / VSTweaks

Tags: #QoL #Simplification #Tweak #Utility
Author: Kyagara
Side: Both
Created: Sep 2nd at 9:46 PM
Last modified: Nov 3rd at 4:51 PM
Downloads: 5253
Follow Unfollow 94

Recommended download (for Vintage Story 1.21.1 and 1.21.2 - 1.21.5):
vstweaks_0.6.3.zip  1-click install


 
About

The goal of this mod is to make it a collection of features similar to my old Minecraft mods and let people customize it as much as possible to keep compatibility with other mods, allowing for other mods that implement similar features to be used.

This mod focuses more on code features (mechanics, commands, etc) rather than adding content (blocks, textures, etc).

Though I am focused on adding things from the TODO list (and things I always forget to add to it), I am open to requests.

Feedback or bug reports are very much appreciated!

 

Server features

  • Required on the client:
    • Sort all open inventories or the one being hovered by pressing R.
    • LMB on waypoint to teleport, Ctrl+LMB to share. (by default requires tp permission. Lacks GUI, shares in general chat)
  • Commands:
    • Teleport to someone using /tpp <player>. (by default requires tp permission)
    • Teleport to your spawn point using /home. (by default requires chat permission)
    • Teleport to your previous location before a teleport or death using /back. (by default requires chat permission)
  • Set spawn point when sleeping in a bed.
  • Turn Firewood into 3 sticks using any saw.

Client features

  • Zoom with Z.
  • Sound on new chat messages.

 

The Zoom logic was based on vsmod-ZoomButton by chriswa.

Configuration

All features can be configured after running the game once and will be stored in the default config path.

Default Config
{
// First config release (v0.2.0) had no Version field.
"Version": 7,
"EnableZoom": true,
// Lower values = zooms farther.
"MaxZoom": 20,
// Enables a smooth 'transition' from current FOV to the zoomed FOV.
"ZoomLerp": true,
"EnableSticksFromFirewoodRecipe": true,
"EnableNewChatMessageSound": true,
"ChatMessageSoundVolume": 0.3,
// When enabled, commands will output succesful results.
// Features will still display handled errors when they happen even if disabled.
  "EnableFeedback": true,
"EnableSort": true,
"EnableSetSpawnOnSleep": true,
"EnableWaypointTeleport": true,
"EnableWaypointShare": true,
"EnableTPPCommand": true,
"EnableCommandCommand": true,
"WaypointTeleportPerm": "tp",
"TPPCommandPerm": "tp",
"HomeCommandPerm": "chat" }

 

Please leave feedback, requests or issues in the Github Issues if possible! Also check the TODO and Known Issues lists.

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
0.6.3 vstweaks
1.21.2 - 1.21.5
1075 Nov 3rd at 4:51 PM vstweaks_0.6.3.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.6.2...v0.6.3

 

This should've been a 0.7.0 release.

 

  • Config Version bump.
  • Removed DisableExclusiveCrafting feature in favor of the vanilla option in the world configuration. The idea would be to expand this into customization for classes (removing classes, removing negative traits only) but they would inevitably use different config fields so this feature has no use.
  • Refactor of code to remove singletons.
  • Fix for /back not working the first time and not clearing when changing worlds.
0.6.2 vstweaks
1.21.2 - 1.21.5
286 Nov 1st at 8:22 PM vstweaks_0.6.2.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.6.1...v0.6.2

 

  • Fixes the /back command from not saving the correct position.
  • Add/moved some checks to prevent crashes.

 

If you encounter any problems please don't hesitate from making an issue on Github, specially if you run a heavily modded and/or populated server.

0.6.1 vstweaks 976 Sep 22nd at 4:34 PM vstweaks_0.6.1.zip 1-click install

**Full Changelog**: https://github.com/Kyagara/VSTweaks/compare/v0.6.0...v0.6.1

 

  • Store and reuse the sfx for chat messages
  • Checks before doing some allocations
  • Not tested on 1.21.0
0.6.0 vstweaks 466 Sep 17th at 10:49 PM vstweaks_0.6.0.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.5.5...v0.6.0

 

  • Add /back command, after a teleport using /tpp, clicking a waypoint or dying, the position you were in will be saved, allowing you to go back. This resets on server restart.
  • Skipping the first four backpack slots, in my tests this has prevented issues with backpacks disappering or general issues with sorting your own inventory, please let me know if you face any issues.
  • Added an EnableFeedback config option, this lets commands and other features from returning a successful result, like "Teleported to your spawn point.", preventing chat clutter when disabled. The behaviour has not changed and any errors handled will still be forwarded to the user.
0.5.5 vstweaks 198 Sep 16th at 11:05 PM vstweaks_0.5.5.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.5.4...v0.5.5

 

  • Add checks to see if network channels are connected, prevents crashing when the server has sort/teleport features disabled but the client tries to use them.
  • Bandaid fix for backpacks disappearing, for now, you cannot sort the player backpacks.
0.5.4 vstweaks
1.21.0 - 1.21.1
385 Sep 13th at 3:26 PM vstweaks_0.5.4.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.5.3...v0.5.4

 

  • Notify user when teleported.
  • Only set spawn when it has changed.
0.5.3 vstweaks
1.21.0 - 1.21.1
326 Sep 11th at 12:48 PM vstweaks_0.5.3.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.5.2...v0.5.3

 

  • Moved some initialization code.
  • Added more checks.
0.5.2 vstweaks
1.21.0 - 1.21.1
213 Sep 10th at 2:06 PM vstweaks_0.5.2.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.5.1...v0.5.2

 

  • Waypoints are now shared with Icon and Color.
0.5.1 vstweaks
1.21.0 - 1.21.1
173 Sep 9th at 2:38 PM vstweaks_0.5.1.zip 1-click install
0.5.0 vstweaks
1.21.0 - 1.21.1-rc.2
220 Sep 8th at 3:06 PM vstweaks_0.5.0.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.4.0...v0.5.0

There are some breaking changes that will result in user defined values (only VSTweaks related, config and hotkeys) being reset to the default. I plan on keeping config changes like this to a minimum and to also implement a migration step to avoid more breakage, sorry about this!

  • Changes to hotkeys code, if you set any custom keybind for Zoom and Sort features, they have been reset.
  • Changes to some config names, please check the current config file.
  • WIP waypoint teleport and sharing. Please let me know if you encounter any issues.
0.4.0 vstweaks
1.21.0 - 1.21.1-rc.2
365 Sep 7th at 12:06 AM vstweaks_0.4.0.zip 1-click install
0.3.1 vstweaks
1.21.0 - 1.21.1-rc.2
173 Sep 5th at 4:15 PM vstweaks_0.3.1.zip 1-click install

Full Changelog: https://github.com/Kyagara/VSTweaks/compare/v0.3.0...v0.3.1

 

  • Fixed config upgrade
  • Changed EnableExclusiveCrafting to DisableExclusiveCrafting
  • Added missing ExclusiveCrafting option
0.3.0 vstweaks
1.21.0 - 1.21.1-rc.1
135 Sep 4th at 9:14 PM vstweaks_0.3.0.zip 1-click install
0.2.1 vstweaks
1.21.0 - 1.21.1-rc.1
77 Sep 4th at 1:41 PM vstweaks_0.2.1.zip 1-click install
0.2.0 vstweaks
1.21.0 - 1.21.1-rc.1
86 Sep 3rd at 11:03 PM vstweaks_0.2.0.zip 1-click install
0.1.0 vstweaks
1.21.0 - 1.21.1-rc.1
90 Sep 2nd at 9:49 PM Empty VSTweaks-0.1.0.zip 1-click install

20 Comments (oldest first | newest first)

💬 Kyagara , Oct 23rd at 12:18 PM

dark_golduck In the mod config file (vstweaks.json), change either "WaypointTeleportPerm" or "TPPCommandPerm" (permission of the feature you are talking about) value to "chat", just like the field "HomeCommandPerm": "chat", this way, anyone that can chat (everyone by default) will be able to teleport.

💬 dark_golduck, Oct 22nd at 7:02 PM

how can i change the config so they don't need tp permission because i tried to change the tp permission in my server config but than the server would not start ?

 

💬 JupiterAugust, Oct 6th at 4:38 AM

oh  thanks!

💬 Kyagara , Oct 2nd at 11:31 PM

JupiterAugust Setting them to false prevents them from even registering in the game so it shouldn't cause any conflicts.

💬 JupiterAugust, Oct 2nd at 7:31 PM

would it be possible to have a version that is just the waypoint sharing? or a way to do it with this? i've got other mods that might get in the way of enablesort and setspawnonsleep, but i'm not sure if putting those to "false" in this mod would get in the way of the others' or not? or does setting it to false just mean it does nothing at all to that mechanic?

💬 Kyagara , Sep 25th at 11:48 PM

Sprisky You are using an old version (v0.5.2) which didn't have checks at the new chat message event, so as you load in a world, the game sends a message in your chat, which results in a crash because the mod tries to play a sound for a player that does not exist at that moment.

💬 Sprisky, Sep 25th at 9:00 PM

Having an issue where on attempting to load into a server, the game crashes instantly. 

The crash reporter is flagging a critical error at 'vstweaks@0.5.2' 

I've tried clearing all my mod-folders (Both the local modlist and the cache from the server) reinstalling a clean copy of vintage story, reinstalling a client-side version of the mod, restarting and updating my computer, and luanching the application as admin to no avail. 

I'm the only person expierencing this issue, and have consistantly recieved the same crash report every time I attempt to join. 

The following is the crash report:

Crash Report

Running on 64 bit Windows 10.0.26100.0 with 65311 MB RAM
Game Version: v1.21.1 (Stable)
25/09/2025 16:58:34: Critical error occurred in the following mod: vstweaks@0.5.2
Loaded Mods: aculinaryartillerypatch@1.2.6-pre.4, canoemode@1.0.4, cavesymphony@1.2.0, floralzonescaribbeanregion@1.0.18, floralzonescosmopolitanregion@1.0.5, floralzonesmediterraneanregion@1.0.14, floralzonesneozeylandicregion@1.0.14, overhaullib@1.8.0, primitivesurvival@3.9.5, valkyrjahair@2.2.0, game@1.21.1, vsimgui@1.1.12, wildfarmingrevival@1.4.0, betterruins@0.5.0, bloodtrail@1.0.2, butchering@1.10.3, butteflydisplay@1.1.0, cartwrightscaravan@1.7.2, combatoverhaul@0.9.3, configlib@1.10.1, expandedfoodspatch@1.7.6-pre.1, farseer@1.3.2, foodshelves@2.3.0, fromgoldencombs@1.9.2-rc.2, gloomeclasses@1.0.7, hydrateordiedrate@2.2.13, morepiles@2.2.0, purposefulstorage@1.4.1, realsmoke@1.1.1, rpvoicechat@2.3.23, stonebakeoven@1.2.0, terraprety@7.0.5, thecritterpack@1.3.2, coffee@1.0.2, creative@1.21.1, survival@1.21.1, vstweaks@0.5.2, armory@1.2.0, em@3.3.0, tailorsdelight@2.0.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.ClientMain.PlaySoundAt(AssetLocation location, IPlayer atPlayer, IPlayer ignorePlayerUid, Boolean randomizePitch, Single range, Single volume) in VintagestoryLib\Client\Systems\Audio\SoundEngine.cs:line 73
at VSTweaks.VSTweaks.PlaySoundOnChatMessage(Int32 groupId, String message, EnumChatType chattype, String data) in /home/stark/Source/VSTweaks/VSTweaks/VSTweaks.cs:line 107
at Vintagestory.Client.NoObf.ClientEventAPI.onChatLine(Int32 groupId, String message, EnumChatType chattype, String data) in VintagestoryLib\Client\API\ClientEventAPI.cs:line 274
at Vintagestory.Client.NoObf.ClientEventManager.TriggerNewServerChatLine(Int32 groupid, String message, EnumChatType chattype, String data) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 362
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleChatLine(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 166
at Vintagestory.Client.NoObf.ProcessPacketTask.ProcessPacket(Packet_Server packet) in VintagestoryLib\Client\Systems\ProcessPacketTask.cs:line 18
at Vintagestory.Client.NoObf.ProcessPacketTask.Run() in VintagestoryLib\Client\Systems\ProcessPacketTask.cs:line 12
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
at Vintagestory.Client.GuiScreenConnectingToServer.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenConnectingToServer.cs:line 298
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 760
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 663
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 113
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 25/09/2025 16:52:38, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.1.0, time stamp: 0x67fe0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x714
Faulting application start time: 0x1dc2e5e0063d237
Faulting application path: D:\New folder\Vintagestory\Vintagestory.exe
Faulting module path: D:\New folder\Vintagestory\Lib\openal32.dll
Report Id: 8008c16a-1a40-41bb-9835-efd2faf36f75
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 25/09/2025 16:48:19, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.1.0, time stamp: 0x67fe0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x408c
Faulting application start time: 0x1dc2e5d118b8699
Faulting application path: D:\New folder\Vintagestory\Vintagestory.exe
Faulting module path: D:\New folder\Vintagestory\Lib\openal32.dll
Report Id: 52dcbf11-c14c-4a03-9cca-a125c93bb9e1
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 25/09/2025 16:42:52, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.1.0, time stamp: 0x67fe0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x1d54
Faulting application start time: 0x1dc2e5c9da3108f
Faulting application path: D:\New folder\Vintagestory\Vintagestory.exe
Faulting module path: D:\New folder\Vintagestory\Lib\openal32.dll
Report Id: 2b1057c4-8586-4b1b-8b0d-a942a641b055
Faulting package full name:
Faulting package-relative application ID: }

💬 lmperfect, Sep 18th at 8:48 AM

thanks for fixxing that friend, Real talk. Really appreciate that you're taking the time to do this, its alot of effort and your great for that <3

💬 lmperfect, Sep 15th at 2:06 PM (modified Sep 15th at 2:12 PM)

Running ABC's Redux and for some reason when i Auto-Sort it deletes my backpack. figured i'de let you know. 

 

Edit: I don't know why but it fixxed itself somehow? But I KNOW it happened... so imma leave this here cuz i have no idea how to even duplicate /how/ it happened

💬 Kyagara , Sep 12th at 12:14 PM

CCP Very weird, are you on singleplayer? I just noticed I did not specify that the sorting is server side, meaning it has to be installed and enabled in the server for it to work. Is it just the sorting that is not working? If you have more mods installed, can you provide a list?

💬 CCP, Sep 12th at 10:38 AM (modified Sep 12th at 10:39 AM)

Kyagara no crashes, the bind still appear on the settings however, nothing really works. I tried resetting the binds but it didn't really do much. 

💬 Kyagara , Sep 11th at 7:20 PM (modified Sep 11th at 7:24 PM)

CCP How exactly is it not working? Crashing? Have you changed the keybinds for sort and/or zoom? Version v0.5.0 contains changes to keybinds ids, meaning if you changed them at one point before that, they have been set back to their default values. Also check if there are no keybinds conflicts.

💬 CCP, Sep 11th at 6:59 PM

5.3 not working at all for me, but 4.0 works fine

💬 Kyagara , Sep 11th at 12:59 PM (modified Sep 11th at 1:18 PM)

Sukul Without crashlogs its very difficult to pinpoint these issues. I tried running my server with 1.21.0 and the 30 mods we use and tried replicating all cases you mentioned, found no crash or bad behaviour. Must be some mod/s having conflict and I cannot figure out why or which one can be. I have added extra checks and moved some features initialization around, before and after these changes I found no issues. New version is up, v0.5.3, let me know if you still encounter any issues.

💬 Sukul, Sep 11th at 7:00 AM (modified Sep 11th at 7:01 AM)

Kyagara

we are running 1.21.0 with about 67 mods


regarding the sound bug, it was possibly fixed by turning off message sounds in VSTweaks configs. Player states "I splashed into some water and then heard a player damage sound before the crash" the crash log states that a critical error occured in vstweaks and a null reference occured when trying to play a sound. Wiping his server mods and configs worked after he tried rejoining several times. Which means this is possibly separate from the new bug

 

Potential new bug with new player

We tracked the initial crash to Left clicking on a waypoint to teleport while having the perms neccessary but with "teleport to waypoint" disabled in the server VSTweaks configs.

This left the player with a stuck instance running in the task manager. This was eventually solved by deleting his mods and configs, ending the stuck instance and then deleting the players map files for the server. I believe it was the last two steps that fixed the issue.

The stuck instance was preventing the map files from being deleted and instances of vintage story attempting to reconnect to the server before the map files were deleted would result in a CTD.

Re-enabling teleport related commands in the server VSTweaks config stopped the inital crash when left clicking on waypoints

 

Sorry but no crash file from me at the moment, hopefully I've given you enough information to reproduce at least the second bug

💬 Kyagara , Sep 11th at 2:09 AM

Sukul I can't try anything at this moment, will look it up when possible. What version is the server? In 1.21.0 me and friends all have issues with reconnecting after losing connection/crashing or simply just leaving and joining again, resulting in the same behaviour you described, this happens everytime even without any mods. Could you post a crash log on Github? With a modlist attached if possible if the issue happens even in the current version.

💬 Sukul, Sep 11th at 1:42 AM (modified Sep 11th at 1:44 AM)

people on my server are crashing and being permanently unable to rejoin thanks to a "critical error" in this mod
something to do with a null reference exception when playing a damage sound

💬 LiamEoinWolfe, Sep 7th at 2:44 PM

Kyagara I was meaning something like that, but what you have lined up is way better. We already have our waypoints setup so using the map and clicking on a waypoint to teleport is a much better solution.

 

💬 Kyagara , Sep 7th at 12:05 PM

LiamEoinWolfe Do you mean something like "/tp second base"? If so, I am thinking of just using the world map together with waypoints, so instead of a command, you would left/right click a waypoint to teleport. The game already has a "/tpwp waypoint", even though I have issues with it (seems like it doesnt work well with names with spaces), I think a command for this feature wouldn't be a good addition.

💬 LiamEoinWolfe, Sep 7th at 7:28 AM

Thanks very much for this mod. The sorting and firewood -> sticks are excellent additions to the base game. Really liking the teleport commands. Do you have plans to include custom teleport points?

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