Mods / The Basics - Roleplay (RP) Proximity Chat and more!

Tags:
Audio Utility Other QoL
Author:
BASIC
Side:
Both
Created:
Apr 9th 2022 at 12:08 AM
Last modified:
May 3rd at 2:12 PM
Downloads:
82208
Follow Unfollow 238
Latest release (for Vintage Story 1.22.1, potentially outdated):
thebasics_5_5_0.zip  1-click install

As seen on Saltpoint RP, Fair Travels, The Expansion, Echoes of the Ancients, Lunaria, and various other servers!

The Basics

Mod Systems:

  • Roleplaying (RP) local proximity chat system, with configurable talking ranges, nicknames, automatic message formatting, and more!
  • Server save notification (sends a message when save starts, which can help lower frustration about lag for large worlds)
  • Player sleep notification (encourages players to go to sleep when at least 50% of players are in bed)
  • Player Stats system (Keeps track of stats about players that can be viewed by anybody.  Currently tracks deaths, player kills, and NPC kills)
  • TPA System (Allow players to teleport to each other by consuming a temporal gear)
  • Repair system (Adds an admin command /setdurability to set the durability of an item held in your hand)

Join my discord for support! https://discord.gg/PYKTaJ5Ett

Roleplay Proximity Chat System

Adds a Proximity chat tab with local chat designed for roleplaying

Set Nickname And Chat

Yell or whisper!

Talking Ranges

Speak in configurable languages, so that only others that speak it can understand you!

Languages

Use emotes and environment messages for additional flavor!

Emotes

Environment Messages

Use Bold and Italics to spice things up!

Accents

Commands:

Note: [value] denotes a required argument, while (value) denotes an optional one  Pipes (|) denote a range of allowable values. Aliases are listed after the first string, but with argument lists omitted.

  • Nicknames
    • "/nick (nick)", "/setnick", "/nickname" - Get or set your nickname
    • "/clearnick" - Clear your nickname
    • "/nickcolor (color)" - Get or set your nickname color
    • "/clearnickcolor" - Clear your nickname color
    • "/adminsetnickname \[player\] (nickname)"
  • Chat modes/Chat messages
    • "/yell (text)", "/y" - Set your chat mode to Yelling, or yell a single message
    • "/whisper (text)", "/w" - Set your chat mode to Whispering, or whisper a single message
    • "/say (text)", "/normal", "/s" - Set your chat mode back to normal, or say a single message
    • "/ooc (text)" - Send a message in local OOC
      • can also be performed by wrapping your message in `(message)` (by default, delimiters configurable) instead of using the command
    • "/gooc (text)" - Send a message in global OOC
      • can also be performed by wrapping your message in `((message))` (by default, delimiters configurable) instead of using the command
  • Chat Messages
    • "/me \[text\]", "/m" - ("\*" prefix) - Send a proximity emote message
      • can also be performed by prefixing your message with `*message` (by default, delimiters configurable) instead of using the command
    • "/it \[text\]" - ("!" prefix) - Send a proximity environment message
      • can also be performed by prefixing your message with `!message` (by default, delimiters configurable) instead of using the command
  • Configurable Options
    • "/emotemode \[on|off\]" - Turn Emote-only mode on or off
    • "/rptext \[on|off\]" - Turn the whole RP system on or off for your messages
  • Languages
    • Player Commands
      • "/addlang \[langCode\]" - Add a known language
      • "/remlang \[langCode\]" - Remove a known language
      • "/listlang \[langCode\]" - List your known languages, and all available languages
    • Admin Commands
      • "/adminaddlang \[player\] \[langCode\]" - Add a language to another player
      • "/adminremlang \[player\] \[langCode\]" - Remove a language from another player
      • "/adminlistlang \[player\]" - List a player's known languages
  • Player Stats
    • "/playerstats (player)" - Get your player stats, or another players
    • "/clearstats [player] (confirm)" - Clear all of the stats of a player
    • "/clearstat [player] [statName] (confirm)" - Clear a specific stat a player
  • TPA (Teleport) System
    • "/tpa [player]" - Request to teleport to another player
    • "/tpahere [player]" - Request to teleport another player to you
    • "/tpaccept" - Accept a pending teleport request
    • "/tpdeny" - Deny a pending teleport request

    Note: TPA requires a temporal gear to use by default, and can be configured with cooldowns and permissions.

  • Repair System
    • "/setdurability [value]" - (Admin only) Set the durability of the item you're holding

Configuration:

Spoiler!

The mod is highly configurable through the config file. Here are the main configuration sections:

Proximity Chat Settings

The proximity chat system can be configured in several ways:

  • Chat Distances: Configure how far different chat modes can be heard
  • Feature Toggles:
    • DisableNicknames: When set to true, completely disables the nickname system
    • DisableRPChat: When set to true, disables all RP-specific features, making it function as a standard proximity chat
  • Nickname Control:
    • ProximityChatAllowPlayersToChangeNicknames: Controls whether players can set their own nicknames
    • ProximityChatAllowPlayersToChangeNicknameColors: Controls whether players can change their nickname colors
    • ChangeNicknameColorPermission: The privilege required for players to change their nickname colors (if allowed)
  • Message Formatting: Customize how messages appear in chat
{
  // ----- Proximity Chat ----- //
  "ProximityChatModeDistances": {
    "Yell": 90,    // Maximum distance for yelling
    "Normal": 35,  // Normal talking distance
    "Whisper": 5,  // Whisper range
    "Sign": 15     // Sign language visibility range
  },
  "ProximityChatAllowPlayersToChangeNicknames": true,
  "ProximityChatAllowPlayersToChangeNicknameColors": true,  // Whether players can change their nickname colors
  "ChangeNicknameColorPermission": "chat",  // The privilege required to change nickname colors (if allowed)
  "EnableDistanceObfuscationSystem": true,
  "ProximityChatModeObfuscationRanges": {
    "Yell": 45,
    "Normal": 15,
    "Whisper": 2,
    "Sign": 15
  },
  "EnableDistanceFontSizeSystem": true,
  "ProximityChatDefaultFontSize": {
    "Yell": 30,
    "Normal": 16,
    "Whisper": 12,
    "Sign": 16
  },
  "ProximityChatClampFontSizes": [30, 16, 12, 6],
  "BoldNicknames": false,
  
  // Message formatting
  "ProximityChatModeVerbs": {
    "Yell": ["yells", "shouts", "exclaims"],
    "Normal": ["says", "states", "mentions"],
    "Whisper": ["whispers", "mumbles", "mutters"],
    "Sign": ["signs", "gestures", "motions"]
  },
  "ProximityChatModeBabbleVerb": "babbles",
  "ProximityChatModePunctuation": {
    "Yell": "!",
    "Normal": ".",
    "Whisper": ".",
    "Sign": "."
  },
  "ProximityChatModeQuotationStart": {
    "Yell": "\"",
    "Normal": "\"",
    "Whisper": "\"",
    "Sign": "'"
  },
  "ProximityChatModeQuotationEnd": {
    "Yell": "\"",
    "Normal": "\"",
    "Whisper": "\"",
    "Sign": "'"
  },

  // ----- Server Save Announcement ----- //
  "SendServerSaveAnnouncement": true,
  "SendServerSaveFinishedAnnouncement": false,
  "TEXT_ServerSaveAnnouncement": "Server save has started - expect lag for a few seconds.",
  "TEXT_ServerSaveFinished": "Server save has finished.",

  // ----- Player Stats ----- //
  "PlayerStatSystem": true,
  "PlayerStatToggles": {
    "Deaths": true,
    "NpcKills": true,
    "PlayerKills": true,
    "BlockBreaks": true,
    "DistanceTravelled": true
  },
  "PlayerStatClearPermission": "commandplayer",
  "PlayerStatDistanceTravelledTimer": 2000,

  // ----- TPA Requests ----- //
  "AllowPlayerTpa": true,
  "AllowTpaPrivilegeByDefault": false,
  "TpaRequireTemporalGear": true,
  "TpaUseCooldown": false,
  "TpaCooldownInGameHours": 0.5,

  // ----- Sleep Notifications ----- //
  "EnableSleepNotifications": true,
  "SleepNotificationThreshold": 0.5,
  "TEXT_SleepNotification": "You start to feel tired...",

  // ----- Language System ----- //
  "EnableLanguageSystem": true,
  "ChangeOwnLanguagePermission": "chat",
  "ChangeOtherLanguagePermission": "commandplayer",
  "MaxLanguagesPerPlayer": 3, // Maximum number of languages a player can know at once, -1 for unlimited
  "Languages": [
    {
      "Name": "Common",
      "Description": "The universal language",
      "Prefix": "c",
      "Syllables": ["al", "er", "at", "th", "it", "ha", "er", "es", "s", "le", "ed", "ve"],
      "Color": "#92C4E1",
      "Default": true,
      "Hidden": false,
"GrantedToClasses": [] }, { "Name": "Tradeband", "Description": "A common language for ease of trade across regions", "Prefix": "tr", "Syllables": ["feng", "tar", "kin", "ga", "shin", "ji"], "Color": "#D4A96A", "Default": false, "Hidden": false,
"GrantedToClasses": [] }, { "Name": "Ancient", "Description": "A mysterious ancient language", "Prefix": "anc", "Syllables": ["xar", "eth", "oth", "ith", "uth", "yth"], "Color": "#8B0000", "Default": false, "Hidden": true,
"GrantedToClasses": ["malefactor"] } ], // ----- Nametags ----- // "PreventProximityChannelSwitching": true, "ShowNicknameInNametag": true, "HideNametagUnlessTargeting": false, "ShowPlayerNameInNametag": true, "NametagRenderRange": 30, // ----- OOC Chat ----- // "AllowOOCToggle": true, "OOCTogglePermission": "chat" }

System Details

TPA (Teleport) System

The TPA system allows players to request teleportation to other players. Key features:

  • Requires a temporal gear by default (configurable)
  • Optional cooldown system
  • Permission-based access
  • Request/accept/deny workflow for safety

Language System

The language system allows players to learn and use different languages for roleplay. Key features:

  • Players can learn languages using /addlang [language] and remove them with /remlang [language]
  • To speak in a language, prefix your message with `:lang`, such as `:c` or `:tr`. Use the language identifier without a message to set your current default speaking language.
  • Players are limited to knowing a maximum number of languages at once (configurable, default 3)
  • Languages can be hidden from players to prevent unauthorized access
    • Hidden languages can only be added by admins using /adminaddlang
    • Admins can see all languages (including hidden ones) with /adminlistlang
  • Players who don't know any languages or try to speak in an unknown language will "babble" incoherently
  • Languages can be configured with `GrantedToClasses` to automatically be given to players based upon their class.

Player Stats System

Tracks various player statistics including:

  • Deaths
  • Player kills
  • NPC/Mob kills
  • Blocks broken
  • Distance travelled

Server Save Notification

Automatically notifies players when the server is saving, helping reduce confusion about temporary lag spikes. The notification messages and timing are fully configurable.

Sleep Notification System

Encourages coordinated sleeping by notifying players when enough others are in bed. This helps servers manage the day/night cycle more effectively.

Potential Future Improvements

  • Use actual line of sight for sign language

 

Feel free to leave suggestions! Thank you for your continued support and for being a part of the amazing VS roleplaying community!

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
5.5.0 thebasics 2354 May 3rd at 2:12 PM thebasics_5_5_0.zip 1-click install

The BASICs v5.5.0

This release updates The BASICs for Vintage Story 1.22.1 and makes the default setup easier for RP servers.

Highlights

  • Supports Vintage Story 1.22.1.
  • Adds character chatter for spoken RP messages.
  • Makes TPA available to regular players by default, while still requiring a temporal gear by default.
  • Adds placed environmental messages with !!message and /envhere.
  • Improves RP chat defaults for proximity chat, global OOC, overhead speech bubbles, nametags, and typing indicators.
  • Cleans up language and admin feedback so mistakes are clearer in chat.

Server defaults

The default config is now more feature-forward for RP servers. Existing explicit values in ModConfig/the_basics.json are respected.

  • Proximity chat opens by default.
  • Global OOC works out of the box with ((...)).
  • Save-complete announcements are enabled by default.
  • Character chatter is enabled by default.
  • TPA is available to normal players by default, while still requiring a temporal gear by default.
  • Nametags and typing indicators avoid leaking player presence through walls.
  • RP-processed overhead speech bubbles are enabled by default, with a vanilla-bubble opt-out.

Server owners who prefer quieter or more conservative behavior should review ModConfig/the_basics.json after upgrading.

Fixes and polish

  • Fixed character chatter on Vintage Story 1.22.1.
  • Speakers now hear their own chatter more quietly than nearby listeners.
  • Kept /chatter off as a receive-only opt-out.
  • Reduced stale nametag state after startup and player joins.
  • Kept typing indicators line-of-sight gated to avoid leaking player presence through walls.
  • Added a clear opt-out for The BASICs RP overhead speech bubbles; disabling it falls back to vanilla speech bubbles.
  • Replaced confusing TPA privilege behavior with a clearer setting. Old configs continue to work.
  • Improved localization and customization for babble and sign-language text.
  • Rejected unknown :prefix message language syntax instead of letting it pass through as normal speech.
  • Improved over-limit admin language grants, default-language removal copy, and valid-language list formatting.

Known follow-up

  • In-game admin config panel and live config reload are tracked separately in GitHub issue #125.
  • Speech bubble wrapping for long unbroken words remains tracked separately in GitHub issue #82.
5.4.0 thebasics
1.21.0-pre.1 - 1.21.6
3155 Mar 15th at 8:33 PM thebasics-v5.4.0.zip 1-click install

The BASICs v5.4.0

This is a major quality and UX update for RP chat, localization, and server operator configurability.

New: RP Speech Bubbles

Overhead speech bubbles have been completely replaced with a new RP-aware rendering system. Bubbles now display fully styled VTML text - including italics, icons, and language tags - and are gated per-recipient based on line-of-sight, distance, and language comprehension. Each player sees bubbles processed through their own RP context: if they don't speak the language, they see obfuscated text instead.

  • Enable with OverrideSpeechBubblesWithRpText (default false)
  • Emote, environment, OOC, and speech bubbles each render with their own styling
  • Bubble spacing, fade timing, and LOS behavior are all improved over vanilla

New: Typing Indicators

Players can now see when nearby players have their chat box open, are composing a message, or are actively typing. The indicator appears above the player's head and is fully configurable by server operators.

Key Type Default Description
EnableTypingIndicator bool false Show a typing indicator above nearby players' heads.
TypingIndicatorDisplayMode enum 0 (Icon) 0 = icon only, 1 = text only, 2 = both.
TypingIndicatorMaxRange int 50 Maximum distance (blocks) at which the indicator is visible.
TypingIndicatorTimeoutSeconds float 5 Seconds of no input before the indicator disappears.
TypingIndicatorTextOverride string "" Custom label text. If empty, uses the default lang key.

New: Heritage Language Grants

Server operators can now define automatic language grants that tie directly into character creation. When a player picks a class, selects traits, or chooses a character model (via PlayerModelLib), the language system can automatically grant them the appropriate languages - no manual admin commands needed. If a player later changes their class, traits, or model, their granted languages are re-evaluated and kept in sync.

Each language entry in the Languages config list now supports these grant fields:

Key Type Default Description
GrantedToClasses string[] [] Grant this language to players who select any of these classes.
GrantedToTraits string[] [] Grant this language to players with any of these character traits.
GrantedToModels string[] [] Grant this language to players using any of these PlayerModelLib character models.
GrantedToModelGroups string[] [] Grant this language to players whose character model belongs to any of these model groups.

Related top-level config:

Key Type Default Description
RemoveGrantedLanguagesOnChange bool false When a player changes class, traits, or model, revoke any heritage-granted languages they no longer qualify for. (Renamed from RemoveClassLanguagesOnClassChange; old key still works.)

Localization

  • User-facing strings have been moved to lang keys for full localization support.
  • Crowdin mapping added for Vintage Story locale naming conventions.
  • Non-English locale files included: de, es, fr, ru, zh-cn - these are machine-translated for now, so please report any issues! A crowd-sourced translation system will be up soon.

Behavior and moderation fixes

  • Global OOC delimiter behavior (((...)) now gives explicit deny feedback when GOOC is disabled.
  • OOC bubble rendering/styling path is now consistent.
  • /rptext permission is now configurable (RPTextTogglePermission, default "chat") for server operators.

Additional improvements

  • /setdurability command parsing and behavior fixes
  • Better hardening around player stats clear commands and config-related edge cases
  • Server save announcements can now use popup-style notifications instead of chat lines (ServerSaveAnnouncementAsNotification and ServerSaveFinishedAsNotification, both default true)
  • Debug mode available for troubleshooting (DebugMode, default false)

Version

Updated from v5.3.0 to v5.4.0

Known follow-up

  • Long no-space word bubble wrapping edge case is tracked separately (GitHub issue #82)
  • Minor heritage class-change notification churn is tracked separately (GitHub issue #91)

Thanks to everyone for bearing with the delayed release, and please feel free to leave any issues, comments, or ideas in my Discord, here in the comments, or on the Github issues!

5.2.3 thebasics 37235 Sep 11th 2025 at 5:27 AM thebasics-v5.2.3.zip 1-click install
  • Fix TPA system issues with multiple in-flight TPA requests
    • Disambiguate multiple incoming tpa requests
    • prevent multiple outgoing requests
    • add /tpalist and /tpacancel commands
  • Fix issue with chat font size by distance not respecting temporary chat modes
5.2.2 thebasics 7009 Aug 27th 2025 at 9:13 AM thebasics-v5.2.2.zip 1-click install

* Fix issue #32 with null player name data causing exception when setting nickname (thanks to Lantalia for the fix!)

5.2.0 thebasics 1118 Aug 20th 2025 at 3:39 PM thebasics-v5.2.0.zip 1-click install

First off a note.. (to all 5 of you that will read this... looking at you Jar 💖)

Thank you all SO much for your continued use of this mod. It makes my heart happy to see the roleplay community flourish! I apologize for the delays in responses and in pushing out updates~ I have a dozen projects going on at any given time, and it's difficult to ship quickly while also maintaining a high standard of quality.

That being said, I have a whole slew of updates for you! With plenty more on the way. As always, please report any issues in the comments on the mod or in the Github Issues, and I'll address them as promptly as I am able.

💖

Proximity RP Chat

  • Implement fix for VTML injection
    • Fix bug causing chat to break when using the `<` or `>` characters in a proxchat message with a command (ie. `/gooc`, `/ooc`, `/me`, etc.) 
    • Prevent use of VTML within nicknames
      • this will break any nicknames that are manually using VTML for styling such as coloration - use the `/nickcolor` command instead. This change is necessary in lieu of complex validation to ensure nicknames can't be used to maliciously break chat.
  • FINALLY correctly implement `PreventProximityChannelSwitching` config value, to prevent players from automatically getting their channel swapped when a new message comes in General chat 🎉
    • Note: this implementation is INCREDIBLY hacky but somehow seems to do the trick, which is to temporarly set the client's `AutoChatOpenSelected` client config value when new messages come
  • Add language feature to automatically grant language based upon character class, using the `GrantedToClasses` array in the modconfig.
  • Allow custom delimiters for bold (`+`), italics (`|`), environment messages (`!`), OOC (`(message)`), GOOC (`((message))`), and Emote (`*`) in mod config
  • Implement safe networking system to handle attempts to send messages before client/server connection (this is probably way too heavyhanded lol, oh well)
  • Prevent player setting nickname that conflicts with existing playername or nickname
    • This is configurable via ModConfig
    • A new optional `force` flag has been added to the `/adminsetnick` command to allow admins to override this behavior

TPA

      • Implement consumption of temporal gear for TPA, and returning if teleport is not accepted.  This came with a lot of weird edge cases, such as the user logging out, their hand being full
      • Add TPA Timeout, configurable, defaults to 2 minutes
5.1.0-rc.2 thebasics 6809 Jun 17th 2025 at 5:39 AM thebasics_5.1.0_rc.2.zip 1-click install

* Fix issue with duplicate ready messages being sent from client upon player join

5.1.0-rc.1 thebasics 2368 May 12th 2025 at 4:14 AM thebasics_5.1.0_rc.1.zip 1-click install
  • Completely revamp RP Chat system
  • Allow hidden languages
  • Add babble language (a language everybody can speak but nobody can understand)
  • Add sign language (with line of sight that doesn't quite work yet lol)
  • Add config to limit max number of languages a player can know
  • Fix some things with nametags
  • Log RP chat to logfiles

 

NOTE: There are probably some bugs with the new implementation, given the large amount of changes!! Please report things on the Github and I'll get them fixed ASAP.  

 

Make sure to regenerate your mod config file (and make a copy of it first)

5.0.2-rc.1 thebasics 6552 Mar 12th 2025 at 5:45 AM thebasics-5.0.2-rc.1.zip 1-click install

- Prevent console from running some commands
- Fix issue with font scaling in emotes even if config is off
- Add custom emote color config value
- Add ability for admins to query name by nickname with the /adminnick command

5.0.1 thebasics 10520 Jan 11th 2025 at 9:53 PM thebasics_V5.0.1.zip 1-click install

Fix various issues, continue to polish in preparation for V1.20 release

5.0.0 thebasics 1083 Dec 23rd 2024 at 2:03 AM thebasics_V5.0.0.zip 1-click install

Updated for V1.20!! LOTS of new features, including:

  • Languages! Players can speak in custom languages, and languages they don't understand appear as gibberish.  Languages can be customized in the mod config- two languages are shipped as examples by default (Common and Tradeband)
  • Nickname Nameplates! Peoples nicknames now appear over their head (configurable to just show nickname, just show player name, or to show both)
  • Proximity font sizing - messages appear in smaller or larger font based on perceived volume
  • Distance travelled and blocks broken player stats
  • Testing: Prevent chat tab group switching from receiving a message in a different channel when in the proximity channel

 

I'll be releasing better patch notes soon, as well as a forum post and a usage guide.... eventually™

As usual, let me know of any problems you have!

Known issues:

  • `EnableLanguageSystem` config flag doesn't properly work when set to `false`- many features of the language system still appear, including language colors.
  • Error messages shown to the user in the language system also spam the system console
  • `/clearstats` to clear player stats is broken
  • Block Breaks and Distance Travelled stats shouldn't add to the counter when in creative mode or noclipping around
4.0.1 thebasics
1.19.5 - 1.19.8
976 Jun 15th 2023 at 12:59 AM thebasics_4.0.1.zip 1-click install

Allow chat accents to be non-terminating (for example, `+hello+ there +user` turns into `Basic exclaims "Hello there user!"`)

4.0.0 thebasics 265 Jun 15th 2023 at 12:57 AM thebasics_4.0.0.zip 1-click install

Clone of v4.0.0-pre.3

4.0.0-pre.3 thebasics 351 May 22nd 2023 at 1:41 AM thebasics_4.0.0-pre.3.zip 1-click install
* Fix issue with player stats system where ranged kills would throw an exception and bug out the remains
* Add Config ProximityChatAllowPlayersToChangeNicknames to restrict non-admins from changing nicknames (unrestricted by default), and add command /adminsetnick for admins to get and set players nicknames
* Add bold and italic text to prox chat (surround proximity chat messages by "|" for italics and "+" for bold)

Remember to try resettting your modconfig file if you have issues!
4.0.0-pre.2 thebasics 262 May 20th 2023 at 4:21 AM thebasics_4.0.0-pre.2.zip 1-click install

Fixed looc and * (emote) prefix messages, and added Distance Obfuscation: at a distance, proximity chat is harder to hear.  All ranges are configurable.

4.0.0-pre.1 thebasics
1.18.0 - 1.18.1
313 Apr 27th 2023 at 3:43 AM thebasics_4.0.0-pre.1.zip 1-click install

Made compatible with 1.18!

Known issues:

  • Emote prefix * is not working.  /me is still working as expected and can be used as a substitute in the meantime
  • LOOC prefix ( is not working.  There is no workaround at this time

Upcoming features:

  • RP Chat Languages!  Players will be able to pick which languages they know.  Hearing a language you don't know will be randomized gibberish
  • RP Chat Distance Obfuscation!  Past a certain range, RP chat will become "muffled" with random characters replaced by asterisks

All upcoming features have been commented out of this build in order to get a working release out for 1.18.  A fix for the known issues will not be released for at least another two weeks, sorry!

3.0.0 thebasics
1.17.11 - 1.17.12
260 Apr 27th 2023 at 3:37 AM thebasics_3.0.0.zip 1-click install

First and only stable release of v3, clone of v3.0.0-rc.4

3.0.0-rc.4 thebasics 364 Mar 10th 2023 at 5:50 AM thebasics_3.0.0-rc.4.zip 1-click install

Updated to now be a DLL mod, for Windows server compatability.

I'm hoping to roll out a stable release in time for 1.18, please let me know if anything is broken and feel free to give suggestions!

3.0.0-rc.2 thebasics 423 May 2nd 2022 at 4:35 AM thebasics_3.0.0-rc.2.zip 1-click install

IMPORTANT NOTICE: Default TPA settings allow unrestricted teleport requests between players.  If this is a problem for your server, set `AllowPlayerTpa` to false in your config (which you will need to regenerate to see).  This will be fixed in the next release candidate version.

  • Add TPA mod system (requires "tpa" privilege by default)
  • Add Player Stats mod system
  • Add Sleep Notifier mod system
3.0.0-rc.1 thebasics 394 Apr 10th 2022 at 10:29 AM thebasics_3.0.0-rc.1.zip 1-click install
  • Significantly adds to configuration (be sure to delete your existing config file!)
  • Fixes various chat display bugs
2.7.0 thebasics 394 Apr 9th 2022 at 1:17 AM thebasics_v2.7.0.zip 1-click install

Initial release!


80 Comments (oldest first | newest first) (threaded | flat)

Sniper115, May 5th at 2:32 PM

I cant seem to get the voice chat to work on my server. Everything else works just fine.

BASIC , May 4th at 3:59 AM

Sableye Thanks for the report! Those text bubbles have been giving me a heck of a time. I'll try to get a fix out soon! Until then, config value `DisableRpOverheadBubbles` can disable the new chat bubble renderer system.

Sableye, May 3rd at 8:19 PM (modified May 3rd at 8:21 PM)

Thanks for the update!

 

The popup for how text displays in proximity overhead does not appear to be working as intended, it's cutting off part of the text, and has a bunch of deadspace/padding to the right that isn't in use.

 

 

Demitzure, May 3rd at 5:40 PM

Thanks for the update, BASIC! 💜

Shazza, May 2nd at 5:29 AM

Demitzure Unfortunately not - it causes an indefinite hang when loading on 1.22.1.

Demitzure, May 1st at 3:32 AM

Curious, has anyone had any luck getting this to work on 1.22.1 yet?

Originally thought it might have been some weird thing with the Seraph Leveling mod, but deactivated that and tried it.... No dice. big ol' headscratcher!

@BASIC If you get the chance to look at this, thanks! Hope you're well! This mod's become a huge staple of our storywriting community, something we've gotten incredibly used to having around. (Crash report below.)

Crash Report
1.5.2026 03:24:55 [Server Error] Exception: Field not found: 'Vintagestory.API.Common.Entities.Entity.Pos'.
at thebasics.ModSystems.PlayerStats.PlayerStatSystem.AddToPlayerMovement(Single dt) in D:\a\Vintage-Story-Mods\Vintage-Story-Mods\mods-dll\thebasics\src\ModSystems\PlayerStats\PlayerStatSystem.cs:line 77
at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 36
at Vintagestory.Common.EventManager.TriggerGameTick_Patch1(EventManager this, Int64 ellapsedMilliseconds, IWorldAccessor world)
at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Server\ServerEventManager.cs:line 145
at Vintagestory.Server.ServerMain.Process_Patch1(ServerMain this)
PrinceSora, Apr 25th at 7:37 PM

Is it possible to save "Proximity" chat logs somewhere? Either player specific, or globally for a server?

toyota, Apr 3rd at 8:46 PM

hell a config to disable any auto formatting would be amazing

toyota, Apr 3rd at 3:23 AM (modified Apr 3rd at 3:45 AM)

is there a way to disable auto quotes, and capitalization, its a little annoying as me and my freinds often get double quotes lol

Shakgriig, Mar 16th at 3:02 AM

You love to see it

Dangodangodango, Feb 28th at 9:53 AM

Does this mod work only with vanilla classes?
They don't seem to be assigning to my custom classes no matter what I do. Either game: modid: or just the normal class tag.

SpookiBoo, Jan 29th at 1:02 AM

I know it's such a niche feature, but it's one I use myself - it looks like the /setdurability command isn't working. When attempting to use it, it says too many arguments.

"/setdurability 1" "setdurability 100" "setdurability 50" all don't work and give this error, regardless of the item I use.

crazedwolf1, Jan 24th at 7:52 PM

Hello, I was wondering how you remove players vs usernames from the player list but keep their nicknames?

Tsumugi, Jan 19th at 2:33 AM

When talking in a foreign language the original message in normal readable text appears over people's heads, is that meant to happen?

Drakenscribe, Jan 17th at 10:22 PM

Hello! Awesome mod. One of my faves <3

Been noticing lately that the game will inconsistently choose to start hitching when messages are created in chat. There's a freeze for a second or two. Death messages, joining/leaving players, and even chatting in general will cause this. When I uninstalled this mod, it mostly fixed itself. Only using commands like /help that pasted a lot of text would cause a very brief hitch- barely noticeable.

Wondering if there's a way to get around this. I think it's just an issue with the game (and my hardware?) that is exacerbated by this mod. Gonna keep experimenting on my own end, but wanted to leave a comment about this in case it maybe helps someone somehow.

Cheers!

 

Kyokui, Nov 4th 2025 at 12:28 AM

I think "Hide name tag unless targeting" isnt working again. I had hidenametags mod installed prior, then after installing thebasics, you can see distant nametags again for some reason.

Kathrynerius, Oct 22nd 2025 at 5:55 PM (modified Oct 23rd 2025 at 1:17 AM)

Is there a way to get it so it only shows nicknames above their heads, and not the actual username of the person? I'm a bit daft and searched for about a day through this stuff but I'm blind and not seeing it as an option.

OceanofStars, Oct 9th 2025 at 2:57 PM

Still the best mod ever made, BASIC! <3

Sokolov_, Oct 3rd 2025 at 4:42 PM

This is awesome, I really like the language feature- how would players go about learning new languages to communicate with other groups? 

jackaloffal, Sep 25th 2025 at 2:34 AM

@BASIC 

Thank you so much!! I actually did look into all those configs and fiddle around with them before I sent my message, and I managed to get something sort of close, but the OOC tag before names is still present and the parenthesis still disappear when you send the message. I can live with that, but I'd still prefer to be able to at least bracket messages if possible!

BrazilPirate, Sep 24th 2025 at 2:24 PM

Hello BASIC, very nice mod. 

 

Can you do a very basic mod just adding a new tab "local" and a config to set the range to that?

Dont need to change nickname or any other fancy feature, just plain text chat with proximity.

 

There are some servers using RP voice chat and it has proximity, but i'm a non verbal person and when i need to reply someone it goes to global chat and it is a pain.

BASIC , Sep 24th 2025 at 4:53 AM

jackaloffal There's a bunch of modconfig settings that modify how OOC looks and functions, perhaps they suit your needs; if not, let me know what you'd like to see!


- OOCColor - text color for OOC messages (default: "#eaf188")
- GlobalOOCColor - text color for Global OOC messages (default: "#f1b288")
- ApplyColorsToPlayerNames - custom colors for account names via /nickcolor (default: false)
- ApplyColorsToNicknames - custom colors for nicknames via /nickcolor (default: true)
- BoldNicknames - bold names used in proxchat (despite the name, I think this applies to both account name and nickname) (default: false)
- EnableGlobalOOC - enables Global OOC (default: false)
- UseNicknameInOOC - show nickname instead of account name in OOC (default: true)
- UseNicknameInGlobalOOC - show nickname instead of account name in Global OOC (default: false)

If one of those doesn't address the problem, let me know and I can look at another config for ya

jackaloffal, Sep 24th 2025 at 2:26 AM

It looks like there was an update to how OOC shows up in chat. Is there an option to toggle it back to how it was pre-update? 

Zuren, Sep 9th 2025 at 8:59 PM

i would love to see that world-replacement function, though i don't see why it couldn't be in this mod

BASIC , Sep 4th 2025 at 6:55 AM

Grandfather That might be best suited as an entirely different mod. Although admittedlty,this is already a bit of a kitchen sink mod.. It's been on my radar to split off things like the TPA system into their own independent mods.


That being said, either way, I'll put it in my backlog! Should be a simple enough feature.

Grandfather, Sep 4th 2025 at 5:38 AM

Any chance of implimenting a feature that reads certain words and replaces them with other input?
That could be used as a profanity filter, or to replace certain swear words with lore appropriate ones.

BASIC , Sep 4th 2025 at 12:30 AM (modified Sep 4th 2025 at 7:18 AM)

AlteOgre At least that's progress! 😅 Sorry you've been having issues - I'm very curious about the stack trace from those crashes but hey, happy it's fixed now.

As for the global chat, that's very weird! The only config that should affect that is `UseGeneralChannelAsProximityChat`, which defaults to `false` - this setting effectively changes the General chat tab into Proximity chat.

 

In what way is global chat disabled? Are players still able to go to the General chat tab? Do messages just not appear?

 

There are a couple of other config values that affect how chat works that might be worth tinkering with:

`ProximityChatAsDefault` (default false) - Moves players to the proximity chat tab upon first login to the server

`PreserveDefaultChatChoice` (default true) - Moves players to their previous chat tab upon logging back in

`PreventProximityChannelSwitching` (default true) - Prevents players chat from automatically switching tabs when a new message comes in from a different channel, if they're in the Proximity tab.

 

You might consider deleting your ModConfig file so it regenerates fresh. Feel free to reach out on discord (basic_bit) if you want to do any troubleshooting together.

AlteOgre, Sep 1st 2025 at 5:06 PM

BASIC
When I updated from 5.0.1 to 5.2.2 on our 1.20.12 server, global chat was disabled. I couldn't find any clue as to why that was, but reverting the update fixed it.
Any idea what may have caused this? We don't have any other mods affecting game/server chat.

Note that I had tried to update to other versions of TheBasics earlier and with all of the other versions we got client crashes upon logging in on the server. At least v5.2.2 didn't cause client crashes upon logging in ...

BASIC , Aug 27th 2025 at 9:17 AM

WatermelonFrogy Thank you for reporting this, and sorry for the oversight! v5.2.2 is out with the fix; thanks to Lantalia for submitting the fix PR!

WatermelonFrogy, Aug 27th 2025 at 12:55 AM

Hi it seems nicknames are broken in the new update, this is the error when you run any /nick or /setnick commands :(

Nickname Command Error
27.8.2025 00:53:46 [Server Error] Player WatermelonFrogy/vXSehGeRR3Rkh66LwiqmTeAn caused an exception through a command.
27.8.2025 00:53:46 [Server Error] Command: /nick set Caden Holt
27.8.2025 00:53:46 [Server Error] Exception: Object reference not set to an instance of an object.
at thebasics.Utilities.NicknameValidationUtils.ValidateNickname(IServerPlayer player, String nickname, ICoreServerAPI sapi, String& conflictingPlayer, String& conflictType) in D:\a\Vintage-Story-Mods\Vintage-Story-Mods\mods-dll\thebasics\src\Utilities\NicknameValidationUtils.cs:line 127
at thebasics.ModSystems.ProximityChat.RPProximityChatSystem.SetNickname(TextCommandCallingArgs fullArgs) in D:\a\Vintage-Story-Mods\Vintage-Story-Mods\mods-dll\thebasics\src\ModSystems\ProximityChat\RPProximityChatSystem.cs:line 483
at Vintagestory.Common.ChatCommandImpl.CallHandler(TextCommandCallingArgs callargs, Action`1 onCommandComplete, Dictionary`2 asyncParseResults) in VintagestoryLib\Common\API\Command\ChatCommandImpl.cs:line 311
at Vintagestory.Common.ChatCommandImpl.Execute(TextCommandCallingArgs callargs, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandImpl.cs:line 236
at Vintagestory.Common.ChatCommandApi.Execute(String commandName, TextCommandCallingArgs args, Action`1 onCommandComplete) in VintagestoryLib\Common\API\Command\ChatCommandApi.cs:line 99
at Vintagestory.Common.ChatCommandApi.Execute_Patch1(ChatCommandApi this, String commandName, IServerPlayer player, Int32 groupId, String args, Action`1 onCommandComplete)
BASIC , Aug 22nd 2025 at 1:39 PM

Diakonus I've implemented this as of v5.2.0 - Sign language is now baked into the language system using `:sign`, and removed from the chat mode system (yell,say,whisper).

Kasel This should be fixed now as well!

GlooMeGlo I'll definitely look into this - I've been working on a feature to show RP chat in the chat bubbles above players heads, so this goes hand-in-hand with that.

Hexedian You can currently only disable this server side, but I've added a feature as of v5.2.0 to prevent switching chat tabs on new messages

Amarillo This should be fixed as of v5.2.0 - the issue had to do with not marking the nametag WatchedAttribute as "dirty", so it wasn't reliably getting synced with clients

 

Thanks for your patience everybody! Let me know if you have any other issues or feature requests <3

Diakonus, Jun 14th 2025 at 9:49 PM

Would be possible to add the language feature to Sign language mode?
On an rp server we have some people that rp mute characters, and having a dummy sign language that we could give to these characters would allow to better represent sign as something that not everyone knows and allow for rping of learning sign

Kasel, May 18th 2025 at 11:15 PM

For some reason, it's not consuming the gear when we use the teleport feature.  There aren't any errors or anything and it still requires us to hold the gear to teleport.  Any ideas?

GlooMeGlo, Apr 21st 2025 at 4:26 AM

any chance you could add some form of functionality like Nexrem's mod, NameTag tweaks? I wanna make it so myself and my admins have different username colors in game

Hexedian, Apr 9th 2025 at 9:26 PM

Any chance for a way to disable server save notifications client-side? They're a bit distracting, if you don't have the general chat tab active.

Amarillo, Mar 31st 2025 at 10:20 AM

Hey! is the "Hide name tag unless targeting" not working properly? Because the feature works sometimes and sometimes it won't.

Thanks for such a great mod!

BASIC , Mar 17th 2025 at 10:58 PM

PookieBunny

The channel order is a bit finnicky, but I can take a look! There was another recent feature request to persist the selected channel across rejoins, and also to prevent chat switching on new messages in different channel.  I've started to implement those, maybe that will help with your issue.

PookieBunny, Mar 13th 2025 at 4:09 AM

BASIC

I'm sorry if this has been asked before, but is there any way to like... swap the general and prox channels? We like having the proximity as the default channel on our server, but having to do the global OOC to speak to everyone can be a bit tedious, so if instead the two channel pages were swapped (Prox in the general chat's place, and General in the prox chat's place) it would make things so much easier.

BASIC , Mar 12th 2025 at 4:44 AM

Ragolution

Gotcha, that should be an easy fix! Sorry for the delay, I have a long-running refactor branch with all of the requested features implemented (save for the newest one, which I'll add!)  I hope to get that out within a week.

Ragolution, Mar 2nd 2025 at 8:29 AM

So, after some testing it seems that, when using other languages, the text of player's messages is still in their native language in the bubble floating over their head, so if I typed in tradeband, it would be over my head in English.

Ragolution, Feb 19th 2025 at 5:44 PM

We ended up disabling the "ShowNicknameInNametag" variable to remove the appended names so players stopped showing up as Ragolution (Ragolution). This ended up fixing the problem.


CAN Markets uses the player's names to assign ownership to stalls, so it was making it record the wrong name for the owner player. It would recognize them (on placement) as "Ragolution (Ragolution)" but on further interactions, they would be just "Ragolution". In any event, it seems to be fixed, so there's no need to do anything.

I posted a couple things to your github. Mostly feature requests, honestly. :')

Thank you for all your hard work on this mod, our players couldn't function without it.

BASIC , Feb 19th 2025 at 2:10 PM

Ragolution

I can look into it! I'm curious though, which mod are you using? Nicknames themselves don't really affect much.  There is a mod config option to disable nameplates, `ShowNicknameInNametag` (regenerate your mod config if you don't see it).  Otherwise though, Nicknames don't drive much other than chat messages.

Ragolution, Feb 18th 2025 at 6:00 AM

Could there be a way to disable the nickname system? It's currently interfering with another mod we're using that records account names to determine a block's owner.

BASIC , Feb 5th 2025 at 2:16 PM

CHR3S

Whoops, I tore out that functionality at one point! I've removed it from the documentation, and filed a feature request.

Royal_X5

Thanks for the report, I've filed an issue to track this and will take a look sometime next week, thanks for your patience.

Royal_X5, Feb 4th 2025 at 8:31 PM

Nicknames seem buggy, can't set the range correctly and sometimes they always show regardless.

CHR3S, Jan 30th 2025 at 2:56 PM

/pmessage doesn't seem to work

CHR3S, Jan 23rd 2025 at 9:33 PM

BASIC

I assume it has to do with one of the mods I installed. Since I can't use any basic commands. e.g.: /say or /yell

BASIC , Jan 23rd 2025 at 4:56 AM

CHR3S

I can do some debugging tomorrow, but my initial guess is that you need to regenerate the mod config! I added a new config option `UseGeneralChannelAsProximityChat` that's being used on that line.

CHR3S, Jan 22nd 2025 at 7:47 PM
Any Idea how to fix this?

22.1.2025 20:46:52 [Server Error] Mod exception: OnPlayerChat
22.1.2025 20:46:52 [Server Error] Exception: Object reference not set to an instance of an object.
at thebasics.ModSystems.ProximityChat.RPProximityChatSystem.Event_PlayerChat(IServerPlayer byPlayer, Int32 channelId, String& message, String& data, BoolRef consumed) in C:\bench\vs\Vintage-Story-Mods\mods-dll\thebasics\src\ModSystems\ProximityChat\RPProximityChatSystem.cs:line 412
at Vintagestory.Server.ServerEventManager.TriggerOnplayerChat(IServerPlayer player, Int32 channelId, String& message, String& data, BoolRef consumed) in VintagestoryLib\Server\ServerEventManager.cs:line 616
Kara, Jan 16th 2025 at 4:12 PM

BASIC don't ever worry about being slow, go at your own pace and enjoy modding =D

Foxtrot88, Jan 13th 2025 at 5:27 AM

I'm literally surprised this is not a built in module already, it's amazing!! A must have for multi!!

BASIC , Jan 11th 2025 at 9:58 PM

@Kara

It's difficult to remove general chat entirely as it's pretty much baked into the game's code, but I've released an update V5.0.1 with a config flag `UseGeneralChannelAsProximityChat` that will instead use General chat as the proximity chat.  I also added `EnableGlobalOOC` to go along with this, which enables using two parens in a message (ie. "((This is a Global OOC message))") for global OOC in the Prox chat channel.

I hope this meets your needs! Please let me know of any issues you find.

I've made a couple of other small fixes as part of this update, but there's still plenty of small bugs left to tackle.  Sorry I'm being so slow on this everybody, I appreciate you all very much 💜

Kara, Dec 26th 2024 at 6:55 AM

Is there a way to disable General chat with this? =O

BASIC , Dec 23rd 2024 at 2:06 AM

Update for V1.20 has been released! This is very much a WIP build, but I wanted to get it out ASAP for anybody who's waiting on it.  I'll be revisiting it soon with another update to polish it up!

Keekenox, Dec 5th 2024 at 8:22 AM

When update??? 😳

Rafflesia, Dec 5th 2024 at 8:15 AM

Aw man, I was betting the highly esteemed BASIC would be the first one to update to 1.20.

Multiplayer just isn't the same without being able to passively agressively suggest everyone sleep.

DejFidOFF, Sep 20th 2024 at 1:34 PM

BASIC

hallo o/ Any chance to implement AFK notification ( when player not moving or doing anything) ?

 

Quiche, Jun 22nd 2024 at 1:07 AM

Nameplates would be a blessing! Bless you for still working on this mod.

Marshy, Jun 19th 2024 at 6:29 AM

Just here to respond to this poll. Yeah, nameplate changes would be awesome! I personally don't see any problem with switching the mod's Side either.
Thanks for working on this mod -- it's a must-have for me. :D

BASIC , Jun 17th 2024 at 7:54 PM

Hey Maamessu it's good to see you again too ~ I can't tell you how happy it makes me to see this mod continue to have life!

I'll dedicate some time to these feaures here soon and see what I can make happen!

Maamessu, Jun 17th 2024 at 6:41 PM

Nice to see you again, BASIC. I've still been using the mod all these years and glad it was written so well as to keep functioning regardless of the game updates!

I think making the mod universal is fine. With autodownloading from the moddb, it's not much of a concern. Changing nameplates to show nicknames would be amazing IMO, as would the ability to tweak the range at which nameplates are shown (or maybe "a show when targetting" option like traders?) that's synced to the server.

Anyways, hope your doing well! XD

BASIC , Jun 17th 2024 at 5:21 PM

Hello all - Sorry that I've been gone for so long! I've been off working on other projects.

Quick responses to all the questions in my absense:
@McTaco You can access stats via the `/playerstats` command.  It takes an optional argument of another player's name to see their stats, but currently only works if that player is online.  I really should update the mod's description with the missing commands...
@Kaofan You *might* be able do it with the current build by setting the config to: `"<font color="#[hex code]">Server save has started - expect lag for a few seconds.</font>"`  I've created an issue on the github here to track this feature request.
@Guayo Yup, it still functions as expected! I am bad about keeping up with the supported game version tagging as new VS versions are released.
@Mohandar Although it would be neat, proximity voice is not on my radar right now.  It'd be really neat to implement something similar to TFAR in Arma 3 over Teamspeak...

Now, a general poll for the community~ I've gotten a lot of requests recently around changing nameplates to show nicknames, as well as fixing the issue with chat focus switching to General chat.  These changes would (probably) require switching this mod from server-side only to Universal (which means it'd now be listed as a mod clients have to download).  Does anybody have any concerns about such a change? Thanks!

Lastly, I wanted to mention that I welcome any collaboration if anybody wants to contribute to the mod.  Feel free to reach out on discord (basic_bit), leave a comment here, or just submit a PR on Github!

<3

McTaco, Oct 14th 2023 at 2:22 AM

How to use the stats?

Gnusik2291, Sep 30th 2023 at 1:09 PM

BASIC

Is it possible to somehow change the color of the text displayed on the Server?

 

Example:

"TEXT_ServerSaveAnnouncement": "Server save has started - expect lag for a few seconds.",

"Color": "Cyan",

Guayo, Jul 17th 2023 at 9:46 PM

Is th is mod still functioning?

Mohandar, Jul 16th 2023 at 3:25 PM

What about a voice proximity chat as well? <3

Amarillo, Jun 22nd 2023 at 9:13 AM

BASIC thanks for the reply and update. I am testing the mod on my server and for now so everything is okay! My community and I appreciates an active mod author like you that handles the issues.

BASIC , Jun 14th 2023 at 2:44 PM

Amarillo This was a known issue in v4.0.0-pre.2, and fixed in v4.0.0-pre.3, see issue here.  Sorry that you've experienced this though, it was a pretty eggregous issue!  The root cause was due to an API behavior change in the v1.18 VS lore update.

I've been busy with other things but I'll put the official v4 release out today (clone of pre.3), along with a subsequent v4.0.1 to fix a small issue relating to chat accents.

Amarillo, Jun 4th 2023 at 11:38 AM

Discovered that when using this mod in 1.18.5 version creates a bug that makes creatures keep walking when killed and turning into bones when killed from range, It super weird but I tested removing this mod and revealed that was causing the issue

Davis, May 22nd 2023 at 8:52 PM

@BASIC Was hoping to speak with you regarding this mod! My Discord ID is Davis#3285 and I've sent you a message on there already. Awesome mod!

Keekenox, May 21st 2023 at 7:53 PM

RogueRaiden Hello, I am BASIC's secretary! He has been notified of the problem. Thank you!

RogueRaiden, May 18th 2023 at 10:24 PM
Amarillo, Apr 28th 2023 at 11:11 AM

Hi! there is any way to disable the /nick command, I dont want the players to impersonate other players

BASIC , Mar 11th 2023 at 3:43 AM

Falco

Thanks for diagnosing this, and for submitting the issue! For now I'll just package the mod up into a dll- I've pushed a new version out that should do the trick.

cc: Catochondria WickedSchnitzel

Falco, Feb 12th 2023 at 12:57 PM

Catochondria & WickedSchnitzel

It seems to be an issue with live compiling with the windows dedicated server. Try compiling the mod yourself and replace the src directory in the mod with the DLL file. This only needs to be done on the server side. Clients can keep using the mod with the src/ directory as long as the mod version is the same.

I created an issue for this bug here: https://github.com/anegostudios/VintageStory-Issues/issues/2378.

Demitzure, Sep 14th 2022 at 7:03 PM

I hope we'll see an update or something like this. Unfortunately, and obviously, doesn't work with the current version. Same issue as below on 1.17.3

WickedSchnitzel, May 31st 2022 at 10:51 PM

Server crash with

[Server Fatal] System.IO.FileNotFoundException: Could not load file or assembly 'VSSurvivalMod, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'VSSurvivalMod, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
   at thebasics.ModSystems.SleepNotifier.SleepNotifierSystem.b__0(IPlayer player)
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
   at thebasics.ModSystems.SleepNotifier.SleepNotifierSystem.GetSleepingCount() in Data\Cache\unpack\SERVER_thebasics_3.0.0-rc.2.zip_9e1dc03459e5\src\ModSystems\SleepNotifier\SleepNotifierSystem.cs:line 52
   at thebasics.ModSystems.SleepNotifier.SleepNotifierSystem.SlowServerTick(Single dt) in Data\Cache\unpack\SERVER_thebasics_3.0.0-rc.2.zip_9e1dc03459e5\src\ModSystems\SleepNotifier\SleepNotifierSystem.cs:line 28
   at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world)
   at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world)
   at Vintagestory.Server.ServerMain.Process()
 
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. BASIC
BASIC , Apr 19th 2022 at 1:28 AM

I can take a look at both of those things!  Group order is based upon when you joined it, as far as I can tell.  There might be a way to change the ordering; a simple (yet crude) way would be to remove and re-add all of a player's groups when they join, to control the ordering.  I'll mess around with it and see what I can do.

As for "focus" mode, that's probably something that can only be fixed client-side.  I've been trying to keep this mod server-side-only so far, but I'll still do some investigating.

 

PS: thanks Keek :D

Keekenox, Apr 19th 2022 at 12:23 AM

Fun mod. Love it. <3

RogueRaiden, Apr 18th 2022 at 5:46 PM

Any way the proximity chat group could be placed directly next to the general chat group? For players with several chat groups, it would be easier to swap. Edit: I noticed with one of my players, their proximity group is before their chat groups while mine is not. lol Not sure if that means it depends on when the groups are created.

Could there be a command to prevent a chat window from "popping up" on new messages when ran within that chat window? So a player could ignore chat groups to only focus on proximity or a particular chat group.