Mods / Th3Essentials

Tags: #Utility
Author: Th3Dilli
Side: Server
Created: Sep 11th 2021 at 12:31 PM
Last modified: May 8th at 9:36 AM
Downloads: 16727
Follow Unfollow 172

Recommended download (for Vintage Story v1.20.4 - v1.20.10):
th3essentials_2.10.2.zip  1-click install


You may see this message popping up in your logs, but dont worry this is just the bot reconnecting to the discord api and can happen daily. I may suppress this log in the future.

[Server Warning] [Discord] Gateway     Discord.WebSocket.GatewayReconnectException: Server requested a reconnect
ў System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
ў Discord.ConnectionManager.<>c__DisplayClass29_0.<b__0>d.MoveNext()



 

For help, discussion, suggestions, translations and polls on new features join the Discord Server

 

Features:

  • Discord integration (send messages from game to discord and back, Ingame-GenralChat to one specific Discord-channel, customizable color) [on/off]
    • restart / death / join / temporal messages are send to discord 
    • discord slashcommands for restart-time , ingame time and online players
    • display playercount in the activity of the bot
    • display discord mentions (user/channel/role) correctly
  • Shutdown - Set a time when the server should shutdown (starting of the server needs to be handled externally!!!) [on/off]
    • additionally warns the players about the restart x min before restart
  • Add homepoints to teleport to, limited by a configurable cooldown [on/off]
  • starterkit - add a starterkit to be used only once (can be reset) [on/off]
    • starterkit can be set ingame by an admin
  • /spawn command to teleport to spawn also respecting cooldown [on/off]
  • /back command to teleport back to previous postion (/home or death) [on/off]
  • Announcements messages (a list of messages that are send in an configurable interval) [on/off]
  • /msg playername - to send private messages ingame (customizable color) [on/off]
  • /r message - to send private messages ingame to last messaging player (enabled if /msg is on)
  • /requesthelp [message] , pings the help role (HelpRoleID in config) in Discord with the message
  • show role names ingame and discord if enabled (admin, moderator) - see config ShowRole
  • /admin ingame/discord command , lists all roles specified by "AdminRoles" [on/off]
  • reward system that allows you to add a text/icon to ingame chat if that player has a certain role in discord (Patreon)
  • announce a message from discord to ingame
  • /warp [ add \<warp name\> | remove \<warp name\> | list |\<warp name\> ] to predfined locations (setup by admin, also respecting home cooldown time) [on/off]
  • automatic backup - will create a backup when using the shutdown feature [on/off]
  • /reloadth3config - reload the th3config.json and the restart timer
 

 

Discord Slashcommands:

  • /players - Get a list of online players (optional show the ping)
  • /date - Get the current ingame date and time
  • /restarttime - Show time until next restart
  • /setchannel - Set the channel to send to/from ingame chat [Admin]
  • /modifypermissions - add/remove/clear additional roles to use moderation commands [Admin]
  • /whitelist - Change the whitelist status of a player (also the time duration is customizable, default 50 years as with the ingame command) [Admin or Configured Role]
  • /allowcharselonce - Allows the player to re-select their class after doing so already [Admin or Configured Role]
  • /shutdown - Will shutdown the server (if configured server will restart ) [Admin or Configured Role]
  • /admins - lists all admins speciefied by "AdminRoles" in Th3Condfig.json
  • /serverinfo - prints game and mod versions
  • /stats Print the output of the ingame /stats command [Admin or Configured Role]
  • /auth - start to link discord and ingame account for the reward system
  • /announce - announce a message from discord to ingame chat [Admin or Configured Role]
  • /reloadconfig - reload the th3config.json and the restart timer [Admin or Configured Role]
  • /ban - Change the ban status of a player (also the time duration is customizable, default 50 years as with the ingame command) [Admin or Configured Role]
 

Documentation

For install instructions see the readme at the repository 
To see every config option explained scroll to the very bottom of the above linked page.

 


Translations crowdin

 

Special thanks to Aledark for all his help <3.

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v2.11.0 17 May 8th at 9:36 AM Show th3essentials_2.11.0.zip 1-click install
v2.10.2 97 May 5th at 9:51 AM Show th3essentials_2.10.2.zip 1-click install
v2.10.1 37 May 3rd at 10:09 AM Show th3essentials_2.10.1.zip 1-click install
v2.10.0 575 Feb 9th at 12:38 AM Show th3essentials_2.10.0.zip 1-click install
v2.9.2 639 Oct 24th 2024 at 7:17 PM Show th3essentials_2.9.2.zip 1-click install
v2.9.1 376 Jul 20th 2024 at 10:06 AM Show th3essentials_2.9.1.zip 1-click install
v2.9.0 136 Jul 14th 2024 at 7:50 PM Show th3essentials_2.9.0.zip 1-click install
v2.8.3 211 Jun 11th 2024 at 7:16 AM Show th3essentials_2.8.3.zip 1-click install
v2.8.2 237 May 13th 2024 at 8:31 PM Show th3essentials_2.8.2.zip 1-click install
v2.8.1 394 Feb 27th 2024 at 7:37 PM Show th3essentials_2.8.1.zip 1-click install
v2.8.0 357 Jan 7th 2024 at 6:36 PM Show th3essentials_2.8.0.zip 1-click install
v2.7.0 255 Dec 18th 2023 at 9:04 PM Show th3essentials_2.7.0.zip 1-click install
v2.5.0 476 Sep 11th 2023 at 7:39 AM Show Th3Essentials_2.5.0.zip 1-click install
v2.4.1 220 Sep 1st 2023 at 11:23 AM Show Th3Essentials_2.4.1.zip 1-click install
v2.4.0 219 Aug 31st 2023 at 3:06 PM Show Th3Essentials_2.4.0.zip 1-click install
v2.3.3 305 Aug 9th 2023 at 10:12 PM Show Th3Essentials_2.3.3.zip 1-click install
v2.3.2 355 Jun 29th 2023 at 12:56 PM Show Th3Essentials_2.3.2.zip 1-click install
v2.3.2-pre.1 236 Jun 29th 2023 at 1:00 PM Show Th3Essentials_2.3.2-net7.zip 1-click install
v2.3.1 352 May 16th 2023 at 8:46 AM Show Th3Essentials_2.3.1.zip 1-click install
v2.3.0 224 May 14th 2023 at 11:19 AM Show Th3Essentials_2.3.0.zip 1-click install
v2.3.0-rc.4 258 May 10th 2023 at 10:22 AM Show Th3Essentials_2.3.0-rc.4.zip 1-click install
v2.3.0-rc.3 222 May 10th 2023 at 7:58 AM Show Th3Essentials_2.3.0-rc.3.zip 1-click install
v2.3.0-rc.2 351 Apr 17th 2023 at 8:25 PM Show Th3Essentials_2.3.0-rc.2.zip 1-click install
v2.3.0-rc.1 266 Apr 6th 2023 at 2:30 PM Show Th3Essentials_2.3.0-rc.1.zip 1-click install
v2.2.0 291 Mar 4th 2023 at 2:27 PM Show Th3Essentials_2.2.0.zip 1-click install
v2.1.0 448 Oct 22nd 2022 at 8:13 PM Show Th3Essentials_2.1.0.zip 1-click install
v2.0.0 448 Sep 1st 2022 at 9:59 AM Show Th3Essentials_2.0.0.zip 1-click install
v1.1.9 435 May 4th 2022 at 9:33 PM Show Th3Essentials_1.1.9.zip 1-click install
v1.1.8 375 Apr 18th 2022 at 11:03 AM Show Th3Essentials_1.1.8.zip 1-click install
v1.1.7 333 Apr 16th 2022 at 8:10 AM Show Th3Essentials_1.1.7.zip 1-click install
v1.1.6 422 Feb 24th 2022 at 10:13 AM Show Th3Essentials_1.1.6.zip 1-click install
v1.1.5 422 Feb 1st 2022 at 5:44 PM Show Th3Essentials_1.1.5.zip 1-click install
v1.1.4 457 Jan 23rd 2022 at 10:20 PM Show Th3Essentials_1.1.4.zip 1-click install
v1.1.3 406 Jan 21st 2022 at 7:33 PM Show Th3Essentials_1.1.3.zip 1-click install
v1.1.2 401 Jan 16th 2022 at 6:34 PM Show Th3Essentials_1.1.2.zip 1-click install
v1.1.1 432 Jan 10th 2022 at 7:50 PM Show Th3Essentials_1.1.1.zip 1-click install
v1.1.0 431 Dec 15th 2021 at 10:31 PM Show Th3Essentials_1.1.0.zip 1-click install
v1.0.9 449 Nov 26th 2021 at 8:09 AM Show Th3Essentials_1.0.9.zip 1-click install
v1.0.8 458 Oct 25th 2021 at 11:04 PM Show Th3Essentials_1.0.8.zip 1-click install
v1.0.7 424 Oct 25th 2021 at 8:11 PM Show Th3Essentials_1.0.7.zip 1-click install
v1.0.6 445 Oct 8th 2021 at 7:38 PM Show Th3Essentials_1.0.6.zip 1-click install
v1.0.5 452 Oct 7th 2021 at 6:11 PM Show Th3Essentials_1.0.5.zip 1-click install
v1.0.4 457 Sep 26th 2021 at 5:34 PM Show Th3Essentials_1.0.4.zip 1-click install
v1.0.3 486 Sep 20th 2021 at 9:08 AM Show Th3Essentials_1.0.3.zip 1-click install
v1.0.2 483 Sep 16th 2021 at 10:23 PM Show Th3Essentials_1.0.2.zip 1-click install
v1.0.1 464 Sep 16th 2021 at 5:44 AM Show Th3Essentials_1.0.1.zip 1-click install
v1.0.0 477 Sep 14th 2021 at 6:31 PM Show Th3Essentials_1.0.0.zip 1-click install

88 Comments (oldest first | newest first)

💬 Th3Dilli , 1 day ago

LootGoblin78

Sounds like a good idea however I may rather add a system to run any command eventually but that may still be a while till that happens. Have you tried to use StandardInput? Or else you probably you could run the server using   screen as a service too.

💬 LootGoblin78, May 5th at 10:52 AM

Hey Dilli,

 

first of all thank you so much for this wonderful mod. May i ask you if you could add a functionality to create timely based backups? I would like to make a backup of the world around every 120 minutes in case anything bad happens on my server. Due to the real daemonized process im running on my linux server im unable to execute commands like /genbackup in a reattached screen. I tried to find a different solution but your mod is the only hope for me since it can run a backup during the regular restart already.
If its a too big hassle, no issue at all. Your mod is already top notch.

Thanks in advance and have a great day!

💬 Th3Dilli , May 3rd at 9:38 AM

The_Gunny164

Can you please send me your log on either a GitLab issue or on my discord?

AcidNight
That error "Resource temporarily unavailable (discord.com:443)" should mean that your server has some issues with reaching discords server. Specifically it has an isue resolving the DNS name discord.com, nothing I can do about it sorry. You will need to check why dedicated server (not the game server) may have issues witht that.

Vyse
There is a setting to setup moderation roles, those can also execute almost all commands, see commands that have "Configured Role" at the end next to admin



for the cooldown issue that should be finally fixed with the next version

💬 AcidNight, Apr 30th at 4:07 PM

Th3Dilli In the logs I mainly see Discord Gateway alerts, at 5:00:49 the server is apparently started and says I have a connection then just after a warning

[39;49m30.4.2025 05:00:49 [Server Debug] [Discord] Discord Discord.Net v3.17.1 (API v10)
[39;49m30.4.2025 05:00:49 [Server Debug] [Discord] Gateway Connecting
[39;49m30.4.2025 05:00:49 [Server Debug] [xlib] Load: XLeveling/xleveling.json
[39;49m30.4.2025 05:00:49 [Server Debug] [xlib] Save: XLeveling/xleveling.json
[39;49m30.4.2025 05:00:49 [Server Debug] [xlib] Load: XLeveling/survival.json
[39;49m30.4.2025 05:00:49 [Server Debug] [xlib] Save: XLeveling/survival.json
[39;49m[39;49m[33m30.4.2025 05:00:49 [Server Warning] [Discord] Gateway System.Net.Http.HttpRequestException: Resource temporarily unavailable (discord.com:443)
---> System.Net.Sockets.SocketException (11): Resource temporarily unavailable
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|281_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Discord.Net.Rest.DefaultRestClient.SendInternalAsync(HttpRequestMessage request, CancellationToken cancelToken, Boolean headerOnly)
at Discord.Net.Rest.DefaultRestClient.SendAsync(String method, String endpoint, CancellationToken cancelToken, Boolean headerOnly, String reason, IEnumerable`1 requestHeaders)
at Discord.Net.Queue.RequestBucket.SendAsync(RestRequest request)
at Discord.Net.Queue.RequestQueue.SendAsync(RestRequest request)
at Discord.API.DiscordRestApiClient.SendInternalAsync(String method, String endpoint, RestRequest request)
at Discord.API.DiscordRestApiClient.SendAsync[TResponse](String method, String endpoint, BucketId bucketId, ClientBucketType clientBucket, RequestOptions options)
at Discord.API.DiscordSocketApiClient.ConnectInternalAsync()
at Discord.API.DiscordSocketApiClient.ConnectInternalAsync()
at Discord.API.DiscordSocketApiClient.ConnectAsync()
at Discord.WebSocket.DiscordSocketClient.OnConnectingAsync()
at Discord.ConnectionManager.ConnectAsync(CancellationTokenSource reconnectCancelToken)
at Discord.ConnectionManager.<>c__DisplayClass29_0.<<StartAsync>b__0>d.MoveNext()

 

Then a second later, the same thing happens, and then I get the same three debugs in succession.

 

[39;49m30.4.2025 17:43:51 [Server Debug] [Discord] Gateway Disconnecting
[39;49m30.4.2025 17:43:51 [Server Debug] [Discord] Gateway Disconnected
[39;49m30.4.2025 17:44:51 [Server Debug] [Discord] Gateway Connecting
[39;49m[39;49m[33m30.4.2025 17:44:51 [Server Warning] [Discord] Gateway System.Net.Http.HttpRequestException: Resource temporarily unavailable (discord.com:443)
---> System.Net.Sockets.SocketException (11): Resource temporarily unavailable
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|281_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Discord.Net.Rest.DefaultRestClient.SendInternalAsync(HttpRequestMessage request, CancellationToken cancelToken, Boolean headerOnly)
at Discord.Net.Rest.DefaultRestClient.SendAsync(String method, String endpoint, CancellationToken cancelToken, Boolean headerOnly, String reason, IEnumerable`1 requestHeaders)
at Discord.Net.Queue.RequestBucket.SendAsync(RestRequest request)
at Discord.Net.Queue.RequestQueue.SendAsync(RestRequest request)
at Discord.API.DiscordRestApiClient.SendInternalAsync(String method, String endpoint, RestRequest request)
at Discord.API.DiscordRestApiClient.SendAsync[TResponse](String method, String endpoint, BucketId bucketId, ClientBucketType clientBucket, RequestOptions options)
at Discord.API.DiscordSocketApiClient.ConnectInternalAsync()
at Discord.API.DiscordSocketApiClient.ConnectInternalAsync()
at Discord.API.DiscordSocketApiClient.ConnectAsync()
at Discord.WebSocket.DiscordSocketClient.OnConnectingAsync()
at Discord.ConnectionManager.ConnectAsync(CancellationTokenSource reconnectCancelToken)
at Discord.ConnectionManager.<>c__DisplayClass29_0.<<StartAsync>b__0>d.MoveNext()
[39;49m30.4.2025 17:44:51 [Server Debug] [Discord] Gateway Disconnecting
[39;49m30.4.2025 17:44:51 [Server Debug] [Discord] Gateway Disconnected
[39;49m30.4.2025 17:45:51 [Server Debug] [Discord] Gateway Connecting
[39;49m[39;49m[33m30.4.2025 17:45:51 [Server Warning] [Discord] Gateway System.Net.Http.HttpRequestException: Resource temporarily unavailable (discord.com:443)
---> System.Net.Sockets.SocketException (11): Resource temporarily unavailable
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|281_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Discord.Net.Rest.DefaultRestClient.SendInternalAsync(HttpRequestMessage request, CancellationToken cancelToken, Boolean headerOnly)
at Discord.Net.Rest.DefaultRestClient.SendAsync(String method, String endpoint, CancellationToken cancelToken, Boolean headerOnly, String reason, IEnumerable`1 requestHeaders)
at Discord.Net.Queue.RequestBucket.SendAsync(RestRequest request)
at Discord.Net.Queue.RequestQueue.SendAsync(RestRequest request)
at Discord.API.DiscordRestApiClient.SendInternalAsync(String method, String endpoint, RestRequest request)
at Discord.API.DiscordRestApiClient.SendAsync[TResponse](String method, String endpoint, BucketId bucketId, ClientBucketType clientBucket, RequestOptions options)
at Discord.API.DiscordSocketApiClient.ConnectInternalAsync()
at Discord.API.DiscordSocketApiClient.ConnectInternalAsync()
at Discord.API.DiscordSocketApiClient.ConnectAsync()
at Discord.WebSocket.DiscordSocketClient.OnConnectingAsync()
at Discord.ConnectionManager.ConnectAsync(CancellationTokenSource reconnectCancelToken)
at Discord.ConnectionManager.<>c__DisplayClass29_0.<<StartAsync>b__0>d.MoveNext()

 

everything is filled with this and impossible to join the server until I manually restart

💬 The_Gunny164, Apr 29th at 9:13 PM

A friend and I have been trying to get our bot Online for the past 2 days, coming up on 3 days now. We have been constantly looking at the README Instructions but cant for the absolute Life of us get the bot Online. Even going far as creating a Checklist to Verify every step was completed and yet the bot just refuses to go online to allow us to complete the rest of the setup. Tried 7 Tokens by this point because of the following text "You should see that the bot went online, if not then there might be an issue with the Token." But how can it be the token if its been attempted with 7 different ones already. Need a little help here.

💬 AcidNight, Apr 24th at 6:39 PM

works perfectly, just didn't understand how to put myself in admin because when I changed it it no longer started

💬 WickedSchnitzel, Apr 4th at 1:12 PM

Confirming that the cooldowns for teleport to player and random teleport are resetting randomly. Since months already.

💬 McTaco, Mar 23rd at 11:24 PM

Im getting discord messages like this

th3essentials:disconnected
th3essentials:shutdown

th3essentials:playerdeathby
Player McTaco got pancaked.
th3essentials:playerdeath

 

It seems a lot of the lang file isn't being pulled correctly and sent to discord?

Bug, researched, wrote up

https://gitlab.com/th3dilli_vintagestory/th3essentials/

-/issues/64

💬 pawke, Mar 5th at 6:40 PM

I set "TeleportToPlayerCooldown" to 86400s (24h), and it works correctly, but when a player tries to use /t2p, the cooldown never shows more than 1 hour. It seems to be counted hour by hour—after an hour, it resets again, repeating this process for 24 hours.

💬 WatermelonFrogy, Feb 25th at 3:36 AM

Yeah, I understand theres audit logs and such but having a command to search the logs would be so much easier for server admins, especially if they don't have access to server files

Th3Dilli

💬 Vyse, Feb 23rd at 10:07 AM

Is it possible for people to run the /shutdown command on the bot without being in administrative roles on a Discord server?

💬 Th3Dilli , Feb 22nd at 2:57 PM

since 1.20 we have audit logs for inventory access and many more, see your server-audit.log for those, some day it would be nice to have that more search-able tho
WatermelonFrogy

💬 WatermelonFrogy, Feb 22nd at 2:44 PM

Could you possible incorperate some sort of command based grief logging/chest logging? Possibly running something like /protector chest {user | coordinates | "here"} to get a users previous interactions with chests or interactions with a chest at a certain position? Laso possibly some sort of grief logging to check interactions in a certain chunk or a players previous block interactions in a chunk like /protector chunk {user | coordinates | "here"} which returns the information?
I've been thinking about making something like this myself but have close to 0 knowledge in C# my main language being GDScript for Godot game development.

💬 Weeder, Feb 16th at 5:42 PM

@Th3Dilli thanks I'm going to use this then 

💬 Th3Dilli , Feb 9th at 10:18 AM

Weeder

this is a server side mod, all server side mods are only needed on the server and the clients can stay fully vanilla

💬 Weeder, Feb 9th at 9:13 AM

If i was to download and use this mod for my community server. will it show as a Modded Server or Come up as Vanilla [ Im looking to keep it vanilla ]

💬 Th3Dilli , Feb 9th at 12:37 AM

TheDeafGuy

I would not want to add that to the message but could add someting to the status of the bot

Ragolution

there is some on the readme on gitlab at the very bottom in the example config

 

Tarquinius753

you can just set a home point whre you would use the themporal gear and you can tp to it

 

Praal

there is ModerationRoles and you can set the using the modifypermission discord command

💬 Praal, Feb 5th at 1:08 PM

@Th3Dilli Is there any way to allow other players in Discord to execute commands such as /shutdown?

💬 Tarquinius753, Jan 31st at 7:29 PM

Hey why is it not possible to port to the home set by the temporal gear with the /home command?

💬 Ragolution, Jan 31st at 9:45 AM

Adding a format for the chat timestamps doesn't seem to do anything. Is there a command to enable timestamps, specifically? Documentation on this seems a bit low.

💬 disputedname, Jan 25th at 2:08 AM

Will this be updated to 1.20.1?

💬 TheDeafGuy, Jan 4th at 1:00 AM

Hey, it'd be really cool if you could add a season signifier for in discord, that shows roughly what season it is with a little emoji next to the player count. It'll make it easy for those in discord to see the seasons at a glance. Spring could be a cherry blossom, or just blossom, Summer could be a Deciduous Tree, Fall being Fallen Leaf, and winter being the snowflake.
It might not work fully across the world with the seasonal times changing as you go North/South, but if it was set based on the world spawn 0,0, it'd be a good central point of reference. 
Thank you for reading 

💬 Th3Dilli , Oct 18th 2024 at 9:12 AM

MyraMidnight

that is probably because the language is/was not yet added to the base game once it is there it should work, I will see what i can do to handle such cases in teh base game since that should not be the concern for mods to handle cases like this (edit: this should be fixed with next 1.20 pre.7 game release)


propaneko
currently it only sends the main channel to one discord channel

💬 propaneko, Sep 12th 2024 at 11:01 AM

Is there a way to add other group chats to be sent to discord channel? Like the Proximity chat from other mod?

💬 MyraMidnight, Aug 19th 2024 at 10:43 AM

I played on server that uses this mod, I suggest having something that uses default language English if it cannot find localization in it's own dictionary. I was playing with local translation on client (I am translating it) and server kick me out whenever I use these commands, because it can't find my language in the translations. It should not rely on finding language so completely, it should handle the exceptions. I can help add Icelandic to the crowdin perhaps, but I wanted to bring attention to this.

There really should be something handling such exceptions, because you never know when someone wants to add a language, and neither server nor players should have to run into such trouble triggered by what language they choose in client. Localization is really nice option, but this exception error that kicks players off server for using your commands is not good. Making the code just use default english if it fails to find matching language should have been the way to go. There are just too many languages in the world for you to rely on finding a match every time (since Vintage Story seems open to adding new languages at any time, and people could translate even without it being official, just throwing in the JSON and adding to the list in own client). 

Hope this gets considered, I think this mod is a nice thing, and neither players or server should end up with bad experience from a little thing as what language they choose in their own client. 

💬 Rhyagelle, Aug 14th 2024 at 5:06 AM

I feel really, really, really stupid! I re-read the guide a few more times and didn't realize the end bit wasn't optional setup options. I never put in channel IDs or guild IDs, and that's why it wasn't working. 😅

It's all golden now, despite my hilarious screwup! 

💬 Th3Dilli , Aug 13th 2024 at 7:52 PM

Rhyagelle

can you send me the server-main log on my discord

💬 Rhyagelle, Aug 13th 2024 at 10:27 AM

I am having difficult getting the mod to work via installation on Discord. It gets invited to the server, but the commands do nothing. I've re-tried four times, I'm not sure what I am doing wrong. Any idea on what I missed or screwed up?

💬 TwistedSins, Jun 15th 2024 at 11:14 PM

For the love of Freaking GAWWD shortcut /tpr Name and /tpa for request and accept!! Please Please Please Please Please!! Lol amazing mod man <3

 

💬 Th3Dilli , Jun 14th 2024 at 7:04 AM

DejFidOFF
I just tested it with player corps mods and it does work just fine.
Maybe you did not enable back? or requier some items to use it? what do you see in the logs? any errors?

💬 DejFidOFF, Jun 11th 2024 at 3:12 PM

Th3Dilli

Hello o/ Is it possible to not working /back when you starve to death?

Sometimes it not working properly? Have you idea what´s wrong?

We have a playercorpse mod at our server :)

 

💬 Ovadex, May 30th 2024 at 3:35 PM

Th3Dilli
Mostly wanted it separate so the log in/outs don't crowd out and clutter the game chat.

💬 Th3Dilli , May 30th 2024 at 8:08 AM

Ovadex
No there is currently no config to seperate those messages into a different channel.
Do you just wanna separate those or do you wanna hide the from players?

💬 Ovadex, May 30th 2024 at 2:26 AM

Is there a way to have the game chat go to one discord channel and the log in/out messages go to another?

💬 Th3Dilli , May 13th 2024 at 8:34 PM

the latest version has some improvements to client counts,
also added the bot status to the lang file


mod works with any 1.19 so 1.19.7 is also working, updated the tags ;)

💬 BaconQueen, Apr 24th 2024 at 1:13 AM

Will this not work on 1.19.7? had a friend who is good with servers try to set it up and couldn't get it to work on my server. Th3Dilli

💬 Bazim, Apr 21st 2024 at 6:19 PM

Please make editable the bot presence message. And why the text is like wierd when I am typing in game?

💬 Rhoun, Apr 20th 2024 at 9:40 PM

I think I found an issue with playing player count and disconnected messages.

If a player attempts to join but is unable for some reason, like timeout when downloading data:
 - The bot doesn't update the player counter and doesn't show the 'connected' message
- But still sends a 'disconnected' message and drops the player counter by one.

So the 'playing players' show the wrong number afterward and we have a 'disconnected' message without a 'connected' message. 

I'm not sure if it's easy to track/fix, and it's not a big issue, but just so you know about it.

Th3Dilli

💬 DejFidOFF, Apr 1st 2024 at 6:33 PM

Th3Dilli

Nothing you mentoin. Regular server shutdown at 4am. But that was one timer. Before and after this error, everything works just fine. Idk what happend. I made 0 changes before and after.

💬 Th3Dilli , Mar 31st 2024 at 8:43 PM

DejFidOFF

for now I am using the games backup feature with a few additions so easiest for now is if you make a symlink , else I can take a look for next update to add that

for the error : it maybe that your rar process is taking that file before it is done with the backup? did you change anything regarding backup? did it work fine before?

💬 DejFidOFF, Mar 29th 2024 at 6:32 AM

Hey o/ This night the server stuck and did not make a backup. Any idea?

 

29.3.2024 04:00:11 [Event] Backing up world... Do not turn off the server! It will shutdown once it finished.
29.3.2024 04:00:11 [Error] Exception: SQLite Error 14: 'unable to open database file'.
at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
at Microsoft.Data.Sqlite.SqliteConnectionInternal..ctor(SqliteConnectionStringBuilder connectionOptions, SqliteConnectionPool pool)
at Microsoft.Data.Sqlite.SqliteConnectionFactory.GetConnection(SqliteConnection outerConnection)
at Microsoft.Data.Sqlite.SqliteConnection.Open()
at Vintagestory.Common.Database.SQLiteDbConnectionv2.CreateBackup(String backupFilename) in VintagestoryLib\Common\FileIO\Database\SQLiteDbConnectionv2.cs:line 433
at Vintagestory.Common.GameDatabase.CreateBackup(String backupFilename) in VintagestoryLib\Common\FileIO\Database\GameDatabase.cs:line 255
at Th3Essentials.Th3Essentials.CreateBackup() in /home/dilli/drive_linux/git_repos/vintagestory/mods/Th3Essentials/Th3Essentials/Th3Essentials.cs:line 250
at Th3Essentials.Th3Essentials.CheckRestart(Single t1) in /home/dilli/drive_linux/git_repos/vintagestory/mods/Th3Essentials/Th3Essentials/Th3Essentials.cs:line 186
at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 27
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Common\EventManager.cs:line 57
at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Server\ServerEventManager.cs:line 123
at Vintagestory.Server.ServerMain.Process() in VintagestoryLib\Server\ServerMain.cs:line 886

💬 DejFidOFF, Mar 28th 2024 at 9:28 AM

Th3Dilli

Cause you know, have backups and original world everything on same hard ( ssd ) drive..

I don´t want to. If not I must copy backup to another a then I rar that.

My set up i 1. NVME loaded world 2. SSD for backups.

 

💬 Th3Dilli , Mar 27th 2024 at 8:55 PM

ATree 

so far i havnt and i guess there is little use for it, if there are more ppl then maybe but even if it would probably only have a smaller feature set depending what is supported and how  much time I have to port over this somewhat big mod and test

 

DejFidOFF

what do you need that for? you can always make symlinks in windows or linux to redirect that folder to somewhere else too

💬 DejFidOFF, Mar 22nd 2024 at 8:34 AM

Hey o/ Th3Dilli

Is it possible to implement option in Th3Config.json to change the path (directory) where backups of the world are save? Thank you

💬 Korn, Jan 6th 2024 at 6:01 AM

ATree

To add in on to that i do not believe that can be realistically done (this mod but version for matrix) there is some sort of status implementation for matrix however across all the big and small homeservers its virtually unused feature with only 1 client in the entire ecosystem even supporting said feature. It also as far as i can remember it also does not support custom statuses and only does the very basic online offline sort of statuses.

💬 A_Tree, Jan 6th 2024 at 4:42 AM

Have you considered making a version for Matrix-the FOSS discord alternative?

💬 Kaofan, Sep 14th 2023 at 1:36 PM

Okay, I found the reason for the error and it was a mistranslation on my part.

💬 Kaofan, Sep 14th 2023 at 11:02 AM

Th3Dilli

I would also like to report an error

14.9.2023 12:58:10 [Server Error] Failed to load language file: pl.json
Newtonsoft.Json.JsonReaderException: After parsing a value an unexpected character was encountered: ". Path 'wp-list', line 133, position 4.
at Newtonsoft.Json.JsonTextReader.ParsePostValue(Boolean ignoreComments)
at Newtonsoft.Json.JsonTextReader.Read()
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value)
at Vintagestory.API.Config.TranslationService.Load(Boolean lazyLoad) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryApi\Localization\TranslationService.cs:line 80
14.9.2023 12:58:10 [Server Notification] Reloaded lang file with mod assets
WTF!

This happens when I have the "Th3Essentials 2.5.0" mod enabled.

Of course, the server has the Polish version of the game enabled

/home/container/data/serverconfig.json

"ServerLanguage": "pl",

💬 Th3Dilli , Sep 14th 2023 at 10:28 AM

Kaofan
there are instructions on the repository readme see the link in the description at the end

💬 Kaofan, Sep 13th 2023 at 11:50 PM

Th3Dilli Would you add some description on what to do to make the bot work properly and have access to its commands on discord?

💬 Th3Dilli , Sep 13th 2023 at 6:49 AM

they are now updated, I also updated crowdin for translations so that can be used from now on again

till the next release you can just put that file in the zip in the assets/th3essentials/lang folder

💬 Kaofan, Sep 13th 2023 at 1:37 AM

Th3Dilli When will my Polish version be added?

💬 Kaofan, Sep 11th 2023 at 12:24 PM

Polish version

pl.json

{
"config-init": "Konfiguracja Th3Essentials zainicjowana z domyślną konfiguracją!!!",
"config-file-info": "Plik konfiguracyjny Th3Essentials znajduje się pod adresem {0}",
"playerconfig-init": "Konfiguracja gracza Th3Essentials zainicjowana z domyślną konfiguracją!!!",
"playerconfig-file-info": "Plik konfiguracyjny gracza Th3Essentials znajduje się pod adresem {0}",
"cd-smite-desc": "Tworzy wyładowanie atmosferyczne w miejscu wskaźnika lub nad graczem, jeśli podano jego nazwę.",
"cd-smite-spl": "Stworzono wyładowanie atmosferyczne nad {0}",
"cd-smite-clfp": "Nie można znaleźć gracza: {0}",
"cd-smite-sponen": "Stworzono wyładowanie atmosferyczne nad {0}",
"cd-smite-unable": "Nie można określić celu [nazwa gracza, jednostka, bieżące zaznaczenie bloku]",
"cd-reloadConfig": "ponownie wczytuje Th3Config",
"cd-reloadconfig-msg": "ponowne wczytanie konfiguracji",
"cd-reloadconfig-fail": "ponowne wczytywanie konfiguracji nie powiodło się, zobacz Logs/server-debug.txt",
"cd-sethome": "ustawia punkt domowy na twojej obecnej pozycji pod podaną nazwą",
"cd-home": "teleportuje cię do określonego punktu domowego lub wyświetla listę punktów domowych bez podania nazwy",
"cd-lshome": "Wyświetla listę wszystkich punktów domowych",
"cd-delhome": "usuwa punkt domowy",
"cd-limithome": "Zmienia limit punktów domowych dla jednego gracza",
"cd-spawn": "teleportuje do spawnu",
"cd-back": "teleportuje na ostatnią pozycję (teleportacja do punktu domowego/spawnu i po śmierci)",
"cd-info": "wyświetla informacje o serwerze i listę komend",
"cd-rtp": "Teleportuje gracza na losową pozycję w promieniu wokół spawnu",
"rtp-success": "Przygotowywanie lokalizacji docelowej. Teleportowanie wkrótce...",
"cd-t2pr": "Wysyła prośbę o teleportację do gracza",
"cd-t2pr-r": "Prosi o teleportację do gracza",
"cd-t2pr-a": "Anuluje prośbę o teleportację do gracza",
"cd-t2pr-ac": "Akceptuje prośbę o TP [tak/nie], domyślnie jest tak, jeśli nic nie jest określone",
"cd-t2pr-sc": "Ustala obecny slot hotbaru jako wymagany przedmiot i ilość, użyj pustego slotu, aby odznaczyć",
"cd-t2pr-ra": "Prośba o teleportację do {0} została anulowana",
"cd-t2pr-nr": "Nie znaleziono prośby o teleportację do tego gracza",
"cd-t2pr-no": "Gracz wydaje się już nie być online",
"cd-t2pr-my": "Być może inny gracz anulował prośbę",
"cd-t2pr-de": "Odrzuciłeś prośbę o teleportację",
"cd-t2pr-pr": "Gracz ma już oczekującą prośbę o teleportację",
"cd-t2pr-prm": "Gracz {0} poprosił o teleportację do ciebie. \"/t2p a\" lub \"/t2p a no\"",
"t2p-success": "Prośba o teleportację została wysłana do gracza",
"cd-all-notallow": "Nie masz uprawnień do używania tej komendy",
"cd-rtp-desc": "Ustala obecny slot hotbaru jako wymagany przedmiot i ilość, użyj pustego slotu, aby odznaczyć",
"cd-starterkit": "odbiera zestaw startowy (jednorazowy)",
"cd-setstarterkit": "ustawia zestaw startowy na przedmioty w twoim hotbarze",
"cd-rstall": "resetuje używanie komendy /starterkit dla wszystkich graczy",
"cd-rst-alldone": "Użycie /starterkit zostało zresetowane dla wszystkich graczy",
"cd-rst": "Jesteś pewien, że chcesz zresetować używanie komendy /starterkit dla wszystkich graczy? Jeśli tak, wpisz /resetstarterkitusageall potwierdź",
"cd-rstp": "resetuje używanie komendy /starterkit dla określonego online gracza",
"cd-rstp-npd": "Nie można znaleźć danych gracza, czy jest online?",
"cd-rstp-unknown": "Nieznana nazwa gracza",
"cd-rstp-done": "Użycie /starterkit dla gracza {0} zostało zresetowane",
"cd-msg": "Wysyła wiadomość do gracza, który jest online",
"cd-msg-param": "[NazwaGracza] [Wiadomość]",
"cd-msg-fail": "Nie można znaleźć gracza o nazwie \"{0}\"",
"cd-msg-fail-mult": "Istnieje kilku graczy o nazwie \"{0}\"",
"cd-reply": "Wysyła wiadomość do gracza, który ostatnio wysłał ci wiadomość",
"cd-reply-param": "[Wiadomość]",
"cd-reply-fail": "Nie można odpowiedzieć, gracz nie jest online",
"cd-restart": "Pokazuje czas do następnego restartu",
"cd-help": "Pinguje zespół wsparcia na Discordzie",
"cd-help-response": "Zgłoszenie wsparcia zostało wysłane",
"hs-item-set": "Przedmiot domowy ustawiony",
"hs-item-unset": "Przedmiot domowy odznaczony",
"th3essentials:hs-item-desc": "Ustala obecny slot hotbaru jako wymagany przedmiot i ilość, użyj pustego slotu, aby odznaczyć",
"hs-changelim": "Zaktualizowano limit punktów domowych dla gracza: {0} na {1}",
"hs-item-missing": "Brakuje ci {0} x {1}",
"hs-wait": "Musisz poczekać {0} minut {1} sekund",
"hs-tp-spawn": "teleportuje do spawnu",
"hs-tp-point": "teleportuje do {0}",
"hs-list": "Twoje punkty domowe: {0}",
"hs-404": "Nie znaleziono punktu domowego.",
"hs-delete": "Punkt domowy {0} został usunięty.",
"hs-empty": "Nazwa nie może być pusta.",
"hs-max": "Osiągnięto maksymalną liczbę punktów domowych.",
"hs-exists": "Punkt domowy o tej nazwie już istnieje.",
"hs-created": "Utworzono punkt domowy o nazwie {0}",
"hs-none": "Nie masz jeszcze punktów domowych. Utwórz je za pomocą komendy /home set [Nazwa]",
"st-hasalready": "Już otrzymałeś zestaw startowy.",
"st-needspace": "Potrzebujesz {0} wolnych slotów w hotbarze",
"st-wrong": "Coś poszło nie tak, skontaktuj się z Moderatorem/Administratorem",
"st-recived": "Oto twój zestaw startowy :)",
"st-notsetup": "Zestaw startowy nie został jeszcze skonfigurowany",
"st-setup": "Zestaw startowy został ustawiony",
"hs-noBack": "Nie ustalono jeszcze pozycji powrotnej",
"hs-back": "Teleportowano na ostatnią pozycję",
"shutdown": ":no_entry: Wyłączenie serwera",
"start": ":white_check_mark: Serwer uruchomiony",
"backup": "Tworzenie kopii zapasowej świata... Nie wyłączaj serwera! Wyłączy się po zakończeniu operacji.",
"backup-dc": ":floppy_disk: Tworzenie kopii zapasowej świata...",
"connected": ":inbox_tray: Gracz {0} dołączył ({1}/{2})",
"disconnected": ":outbox_tray: Gracz {0} rozłączył się ({1}/{2})",
"playerdeath": "Gracz {0} zginął",
"playerdeathby": "Gracz {0} został zabity przez {1}",
"slc-players": "Pobiera listę graczy online",
"slc-date": "Pobiera aktualną datę i czas w grze",
"slc-restart": "Pokazuje czas do następnego restartu",
"slc-restart-resp": "Serwer zostanie zrestartowany za {0} godzin {1} minut",
"slc-restart-disabled": "Komenda restartu serwera jest wyłączona",
"slc-players-none": "Och, nikt nie jest online",
"slc-players-ping": "Pokazuje ping",
"slc-whitelist": "Zmienia status whitelisty gracza",
"slc-whitelist-playername": "Nazwa gracza",
"slc-whitelist-mode": "Tryb, whitelist lub unwhitelist",
"slc-whitelist-time": "Czas, na jaki gracz ma być dodany do whitelisty, nie działa na unwhitelist [domyślnie = 50]",
"slc-whitelist-reason": "Powód, dla którego gracz jest dodawany do whitelisty",
"slc-whitelist-timetype": "Sposób interpretacji parametru czasu [godzina, dzień, miesiąc, rok] [domyślnie = rok]",
"slc-allowcharselonce": "Pozwala graczowi ponownie wybrać swoją klasę po pierwszym wyborze",
"slc-allowcharselonce-playername": "Nazwa gracza",
"slc-setchannel": "Ustawia kanał do wysyłania/odbierania wiadomości w grze",
"slc-modifypermissions": "Ustawia rolę, która może używać komend moderacyjnych whitelist/allowcharselonce",
"slc-modifypermissions-mode": "Operacja modyfikacji roli dodawanie/usuwanie/wyczyszczenie",
"slc-shutdown": "Wyłącza serwer Vintage Story (zrestartuje, jeśli skonfigurowano)",
"slc-serverinfo": "Wyświetla informacje o serwerze (wersja gry, mody)",
"slc-stats": "Wyświetla informacje z komendy /stats w grze",
"slc-admins": "Wyświetla wszystkich administratorów na serwerze",
"slc-auth": "Łączy konto w grze i na Discordzie",
"slc-auth-mode": "Tryb",
"slc-announce": "Ogłasza wiadomość w grze we wszystkich kanałach",
"slc-announce-msg": "Wiadomość do ogłoszenia",
"slc-announce-showindiscord": "Pokazuje wiadomość na Discordzie",
"slc-announce-color": "Kolor wiadomości",
"slc-reload": "Ponowne wczytanie Th3Config i godzin restartu",
"slc-changerole-playername": "Nazwa gracza",
"slc-changerole-rolecode": "Dostępne role z serverconfig.json [Patrz na właściwość \"Code\"]",
"slc-changerole-role": "Zmienia rolę gracza",
"restart-in-mins": "Serwer zostanie zrestartowany za {0} minut",
"restart-in-min": "Serwer zostanie zrestartowany za 1 minutę",
"th3config-error": "Th3Config nie może zostać wczytany: {0}",
"disabled": "Nie można wczytać konfiguracji Th3Essentials, mod zostanie wyłączony",
"temporalStormPrefix": ":thunder_cloud_rain: ",
"cd-warp": "Teleportuje do wcześniej zdefiniowanej lokalizacji",
"wp-added": "Lokalizacja teleportacji {0} została dodana",
"wp-removed": "Lokalizacja teleportacji {0} została usunięta",
"wp-to": "Teleportuje do {0}",
"wp-notfound": "Lokalizacja teleportacji \"{0}\" nie została znaleziona",
"wp-list": "Dostępne lokalizacje teleportacji:",
"wp-no-name": "Brak nazwy Warpa",
"wp-exists": "Warp \"{0}\" już istnieje!"
}

💬 IKira, Aug 31st 2023 at 6:06 AM

There could be a Mute Command, to just mute those players with a peculiar mouth, that would be very handy

💬 Th3Dilli , Apr 20th 2023 at 9:17 PM

KingOfTheMochas

Are you on the latest version?
It should be fixed there

💬 KingOfTheMochas, Apr 20th 2023 at 9:15 PM

Getting this error when someone sends a message in chat, which causes the message to not relay to the Discord bot.

20.4.2023 17:11:00 [Error] Mod exception: OnPlayerChat
20.4.2023 17:11:00 [Error] Exception: System.MissingMethodException: Method not found: 'Vintagestory.API.Server.IPlayerRole Vintagestory.API.Server.IServerPlayer.get_Role()'.
at Th3Essentials.Discord.Th3Discord.PlayerChatAsync(IServerPlayer byPlayer, Int32 channelId, String& message, String& data, BoolRef consumed)
at Vintagestory.Server.ServerEventManager.TriggerOnplayerChat(IServerPlayer player, Int32 channelId, String& message, String& data, BoolRef consumed) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerEventManager.cs:line 692

Messages still relay from Discord to the server, and join messages and leave messages still get sent to the Discord.

💬 Th3Dilli , Apr 7th 2023 at 5:36 PM

NiclAss

<3

💬 NiclAss, Apr 7th 2023 at 3:18 PM

Great Mod!
One of the best tools for Server Admins.
Thanks for your good work!

💬 Nicodemus, Sep 2nd 2022 at 9:42 AM

Hi, I heard of some recent changes with Discord and now my bot is down... Any tips to correct that?

Edit : nvm it works now! Sorry!

💬 CreativeRealms, Sep 1st 2022 at 3:55 PM

Th3Dilli works now. Thanks!

💬 Th3Dilli , Sep 1st 2022 at 1:52 PM

CreativeRealms

try again pls with the newest version that is build for 1.17

💬 CreativeRealms, Aug 30th 2022 at 9:16 PM

The bot is disconnecting on startup using v1.17.0-rc.8. v1.17.0-rc.7 worked fine and I made no changes to the server between updating.

30.8.2022 21:10:42 [Warning] [Discord] Gateway System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Discord.ConnectionManager+<>c__DisplayClass29_0.<StartAsync>b__0 () [0x00147] in <24edb5a3ce294c56aacb6f44b63c9d65>:0

💬 Kara, May 23rd 2022 at 5:59 AM

so, with starterkit is their a way to create more then one kit? like not just a starter kit?

💬 Th3Dilli , May 4th 2022 at 7:46 PM

RogueRaiden
with the "AdminRoles" you can add any role to display a tag see the repository readme for more information

💬 RogueRaiden, Apr 18th 2022 at 5:48 PM

Only admin and moderator roles will show a tag? 

Could any role be set to show a tag?

💬 Th3Dilli , Apr 18th 2022 at 11:04 AM

thank you for pointing out bluelightning32,

mod has been updated,
if the rewards are not used it should work fine again without "SERVER MEMBERS INTENT", and if you wanna use it i added the information to the readme

💬 bluelightning32, Apr 16th 2022 at 10:47 PM

After upgrading to v1.1.7, this mod stopped working. I had to go to "Bot" on the discord developer portal and check "SERVER MEMBERS INTENT" for the mod to start working again. I couldn't find a reference to this step in the install guide.

💬 YourCreator, Feb 10th 2022 at 5:39 PM

@Th3Dilli yeah, i checked it after posting, working as should.
Can you add warps? it will be perfect

💬 Th3Dilli , Feb 9th 2022 at 6:25 PM

YourCreator

thank you for the russion translation ;)

for the issue you are having check out the solution right below the "Important:" headline here

💬 YourCreator, Feb 9th 2022 at 1:43 PM
💬 YourCreator, Feb 9th 2022 at 10:14 AM

[Error] [Th3Essentials] Exception thrown when attempting to retrieve all types of the assembly Discord.Net.Core, Version=3.2.0.0, Culture=neutral, PublicKeyToken=null: System.Reflection.ReflectionTypeLoadException: Не удается загрузить один или более запрошенных типов. Обратитесь к свойству LoaderExceptions для получения дополнительных сведений.
в System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
в System.Reflection.Assembly.GetTypes()
в Vintagestory.Common.ModContainer.GetModSystems(Assembly assembly), InnerException: . Will ignore asssembly. Loader exceptions:

💬 Aledark, Feb 1st 2022 at 11:49 PM

Such a good mod author. I've worked very closely with Th3dilly who became a friend so i'm biased but i'll say that i love this mod as an admin and the community too! ★★★★!

💬 WickedSchnitzel, Jan 29th 2022 at 8:31 AM

Getting "The temporal storm seems to be waning" every time on server restart, even though temp stability and rifts are disabled on the server.

💬 Th3Dilli , Jan 24th 2022 at 7:55 AM

WickedSchnitzel

take a look at the Important section here (i updated it to stand more out), if you got still problems feel free to join the discord linked above

💬 WickedSchnitzel, Jan 24th 2022 at 7:32 AM

[Error] [Th3Essentials] System.IO.FileNotFoundException: Could not load file or assembly 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=-removed-' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken= -removed-'

[Error] [Th3Essentials] Exception thrown when attempting to retrieve all types of the assembly Discord.Net.Rest, Version=3.2.0.0, Culture=neutral, PublicKeyToken=null: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.Assembly.GetTypes()
at Vintagestory.Common.ModContainer.GetModSystems(Assembly assembly), InnerException: . Will ignore asssembly. Loader exceptions:
24.1.2022 08:27:57 [Error] [Th3Essentials] System.IO.FileNotFoundException: Could not load file or assembly 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=-removed-' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=-removed-' Th3Dilli

💬 Th3Dilli , Jan 9th 2022 at 8:27 PM

StewBag

seems to work fine for me, any errors in the debug log?

you can contact me on vintagestory discord: Th3Dilli

 

RogueRaiden

this atm not supported, i may add it at somepoint but cant promise when

the way i have dealt with such things is, the script that restarts the server once shutdown also does a copy of the worldfile and then make zip out of it while the server starts already since making a zip from a 30GB file takes awhile

💬 StewBag, Jan 9th 2022 at 5:38 PM

RC8 has broken all functionality of 1.1.0

💬 RogueRaiden, Dec 21st 2021 at 5:33 AM

Is there anyway to have the backup feature also zip up the backup file and the logs folder?

At the very least, a separate feature on a seperate timer to zip up the logs folder?

💬 Th3Dilli , Nov 26th 2021 at 8:15 AM

Vinter_Nacht

right now this is not configurable ill be looking into it so ppl can easily set it up and keep using the current system if that is what they need without additional configuration needed

WickedSchnitzel

the food spawning in as rot should be fixed now, just use /setstarterkit again 

💬 Vinter_Nacht, Nov 17th 2021 at 4:23 PM

Is there a way to have different information broadcast to different channels?
I want login/logout information to go to one channel, announcements to go to another channel, and chat/shutdown announcements to go to a different channel.

 

💬 WickedSchnitzel, Nov 13th 2021 at 4:54 PM

{
"Itemclass": 1,
"Code": "bread-rye-perfect",
"Stacksize": 3,
"Attributes": "Bg90cmFuc2l0aW9uc3RhdGUDEWNyZWF0ZWRUb3RhbEhvdXJz8/wa5w6ZsUADFWxhc3RVcGRhdGVkVG90YWxIb3Vyc3uCdbqjmbFADApmcmVzaEhvdXJzAQAAAAAAQEMMD3RyYW5zaXRpb25Ib3VycwEAAAAAABBCDBF0cmFuc2l0aW9uZWRIb3VycwEAAABb05Q+AAA="
},

My players receive rot instead of bread in their starterkit. I have noticed that other items have the "AA==" only. Should i change that? Th3Dilli

💬 RogueRaiden, Nov 8th 2021 at 6:24 AM

Ive tried like 4 times now following the install instructions and the bot never shows online in Discord or responds to commands. lol

Edit: Make sure your server is OFFLINE when you change your configs!!! 

💬 Th3Dilli , Oct 29th 2021 at 8:35 AM

oh yeah did not think about that sorry

💬 WickedSchnitzel, Oct 28th 2021 at 8:31 PM

New players are not able to get their /starterkit anymore since i have updated to 1.0.8. Do i have to re-add the kit after every update? It's still in the config though. - update: ok it's working again. Had to set it once again with /setstarterkit even though all the items where still in the config file.

💬 Th3Dilli , Oct 8th 2021 at 7:31 PM

WickedSchnitzel

i did some testing and it seems there is also a problem with the base game and its /giveblock command on lanterns, i will see if i can do anything about it

to be save do not use any lanterns in starterkits since when you place such a lantern it crashes your game and makes that chunk unplayable

💬 WickedSchnitzel, Oct 7th 2021 at 9:18 PM

No, i mean if people use /starterkit. If theres a lantern included in that kit. Th3Dilli

💬 Th3Dilli , Oct 7th 2021 at 6:21 PM

WickedSchnitzel

i guess you mean the Th3Expansion mod, what lanterns do you mean exactly?

💬 WickedSchnitzel, Sep 30th 2021 at 1:38 AM

Lanterns do not have a texture if spawned into the inventory as no material was defined. May apply to some other items as well. Th3Dilli

 (edit comment delete)