
Mods / Th3Essentials
Author: Th3Dilli
Side: Server
Created: Sep 11th 2021 at 12:31 PM
Last modified: Jun 16th at 8:50 PM
Downloads: 18246
Follow Unfollow 187
Recommended download (for Vintage Story 1.20.11-rc.1 - 1.21.0-pre.1):
th3essentials_2.11.0.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.
Mod Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
2.11.0 | 355 | May 8th at 9:36 AM | th3essentials_2.11.0.zip | 1-click install | ||
- update to 1.20.11 (else the stats and kick command fails) | ||||||
2.10.2 | 210 | May 5th at 9:51 AM | th3essentials_2.10.2.zip | 1-click install | ||
- fix error on restart commands | ||||||
2.10.1 | 45 | May 3rd at 10:09 AM | th3essentials_2.10.1.zip | 1-click install | ||
- fixed incorrect showing of cooldowns if those where set higher then 1 hour, the actual cooldown should have been always correct just what was shown was incorrect | ||||||
2.10.0 | 588 | Feb 9th at 12:38 AM | th3essentials_2.10.0.zip | 1-click install | ||
updated to 1.20.4-rc1 | ||||||
2.9.2 | 660 | Oct 24th 2024 at 7:17 PM | th3essentials_2.9.2.zip | 1-click install | ||
[ { "X": 0, "Y": 111, "Z": 0 }, { "X": 0, "Y": 111, "Z": 500 } ] | ||||||
2.9.1 | 398 | Jul 20th 2024 at 10:06 AM | th3essentials_2.9.1.zip | 1-click install | ||
| ||||||
2.9.0 | 159 | Jul 14th 2024 at 7:50 PM | th3essentials_2.9.0.zip | 1-click install | ||
- added Kick Discord command | ||||||
2.8.3 | 230 | Jun 11th 2024 at 7:16 AM | th3essentials_2.8.3.zip | 1-click install | ||
- updated all translations | ||||||
2.8.2 | 258 | May 13th 2024 at 8:31 PM | th3essentials_2.8.2.zip | 1-click install | ||
| ||||||
2.8.1 | 419 | Feb 27th 2024 at 7:37 PM | th3essentials_2.8.1.zip | 1-click install | ||
Fixed: death messages were not working Added: warp cooldown and cost overwrites | ||||||
2.8.0 | 382 | Jan 7th 2024 at 6:36 PM | th3essentials_2.8.0.zip | 1-click install | ||
| ||||||
2.7.0 | 280 | Dec 18th 2023 at 9:04 PM | th3essentials_2.7.0.zip | 1-click install | ||
| ||||||
2.5.0 | 503 | Sep 11th 2023 at 7:39 AM | Th3Essentials_2.5.0.zip | 1-click install | ||
- /rtp randomly teleports a player within a radius from themselves
| ||||||
2.4.1 | 246 | Sep 1st 2023 at 11:23 AM | Th3Essentials_2.4.1.zip | 1-click install | ||
- fix /home <name> not working | ||||||
2.4.0 | 250 | Aug 31st 2023 at 3:06 PM | Th3Essentials_2.4.0.zip | 1-click install | ||
- Added: customizable home point limit per player /home limit <playername> <number>
- Fixed: use GameDatabase from ServerMain, should fix issues on windows when used with BackupOnShutdown / starterkit reset
- Added: new /smite command
- updated all commands to new chat API, you can now find them using the /help command and get detailed info for arguments
- Added: new change role discord slashcommand "/changerole"
- Tweak: update discord library to use Displayname where possible, update dependencies
- Added: in-game chat timestamps option
| ||||||
2.3.3 | 337 | Aug 9th 2023 at 10:12 PM | Th3Essentials_2.3.3.zip | 1-click install | ||
update to net7 | ||||||
2.3.2 | 386 | Jun 29th 2023 at 12:56 PM | Th3Essentials_2.3.2.zip | 1-click install | ||
fix issue with new 1.18.6 for influxdb logticks | ||||||
2.3.2-pre.1 | 264 | Jun 29th 2023 at 1:00 PM | Th3Essentials_2.3.2-net7.zip | 1-click install | ||
fix issue with new 1.18.6 for influxdb logticks | ||||||
2.3.1 | 377 | May 16th 2023 at 8:46 AM | Th3Essentials_2.3.1.zip | 1-click install | ||
fix issue with restart and backup enabled, can happen if the backup takes longer then 1 minute | ||||||
2.3.0 | 241 | May 14th 2023 at 11:19 AM | Th3Essentials_2.3.0.zip | 1-click install | ||
- fixed logticks in grafana - server restart annoncements are now colored and bold ingame (can be changed in config) | ||||||
2.3.0-rc.4 | 285 | May 10th 2023 at 10:22 AM | Th3Essentials_2.3.0-rc.4.zip | 1-click install | ||
fix influxdb not working sorry | ||||||
2.3.0-rc.3 | 245 | May 10th 2023 at 7:58 AM | Th3Essentials_2.3.0-rc.3.zip | 1-click install | ||
fix showing of restart time if it is not enabled | ||||||
2.3.0-rc.2 | 372 | Apr 17th 2023 at 8:25 PM | Th3Essentials_2.3.0-rc.2.zip | 1-click install | ||
recompile for new API 1.18.0-rc.8 | ||||||
2.3.0-rc.1 | 290 | Apr 6th 2023 at 2:30 PM | Th3Essentials_2.3.0-rc.1.zip | 1-click install | ||
added compatibility with 1.18
| ||||||
2.2.0 | 317 | Mar 4th 2023 at 2:27 PM | Th3Essentials_2.2.0.zip | 1-click install | ||
Added: join reward handler to allow other mods to take advantage of the reward system (see AurafuryPets) | ||||||
2.1.0 | 472 | Oct 22nd 2022 at 8:13 PM | Th3Essentials_2.1.0.zip | 1-click install | ||
add automatic backup feature (lock server, kick players, backup, restart) | ||||||
2.0.0 | 473 | Sep 1st 2022 at 9:59 AM | Th3Essentials_2.0.0.zip | 1-click install | ||
- update to v2 since we now requiere a game version of atleast 1.17.0-pre.1
- add warp ingame command (admins can set up warp locations)
- update logticks metric collector for new 1.17
- fixed /serverinfo command if many mods are installed
| ||||||
1.1.9 | 458 | May 4th 2022 at 9:33 PM | Th3Essentials_1.1.9.zip | 1-click install | ||
- fixed problems related to reward system | ||||||
1.1.8 | 406 | Apr 18th 2022 at 11:03 AM | Th3Essentials_1.1.8.zip | 1-click install | ||
- fix bot permission if rewards are not used | ||||||
1.1.7 | 359 | Apr 16th 2022 at 8:10 AM | Th3Essentials_1.1.7.zip | 1-click install | ||
- added basic rewards system (can map discord roles to ingame role and display it in chat) | ||||||
1.1.6 | 439 | Feb 24th 2022 at 10:13 AM | Th3Essentials_1.1.6.zip | 1-click install | ||
fixed starterkit for usage with other mods items/blocks | ||||||
1.1.5 | 456 | Feb 1st 2022 at 5:44 PM | Th3Essentials_1.1.5.zip | 1-click install | ||
| ||||||
1.1.4 | 481 | Jan 23rd 2022 at 10:20 PM | Th3Essentials_1.1.4.zip | 1-click install | ||
fix temporal messages if server restarts when storm is on fix nullpointer if logticks is on but influxdb is not used add config option to customize how roles are shown ingame add influxdb playtime metric | ||||||
1.1.3 | 430 | Jan 21st 2022 at 7:33 PM | Th3Essentials_1.1.3.zip | 1-click install | ||
fixes multiple nullpointer exceptions (PlayerDeath, InfluxDB, Dispose) seperated overload messages in influxdb improved performance for getting temporal messages > copy the new VintageStoryServer.exe.config next to VintageStoryServer.exe | ||||||
1.1.2 | 425 | Jan 16th 2022 at 6:34 PM | Th3Essentials_1.1.2.zip | 1-click install | ||
better workaround for windows (assembly load issues) added ingame command /requesthelp to send a notifiaction for a spesific role to discord see DiscordConfig ->
HelpRoleID
added to the /players discord command the additional arguments ping to show player ping time
added ability to show player roles ingame and discord roles can be configured in serverconfig.json, system is enabled in Th3Config.json
included debug symbols | ||||||
1.1.1 | 453 | Jan 10th 2022 at 7:50 PM | Th3Essentials_1.1.1.zip | 1-click install | ||
updated discord version | ||||||
1.1.0 | 456 | Dec 15th 2021 at 10:31 PM | Th3Essentials_1.1.0.zip | 1-click install | ||
Added logging to influxdb see repo readme for install instructions and config only works with 1.16.0-pre.7 and up | ||||||
1.0.9 | 471 | Nov 26th 2021 at 8:09 AM | Th3Essentials_1.0.9.zip | 1-click install | ||
fixed food spawning in rotted (since the timer was saved with the item when i intoduced the attributes to fix lanterns) | ||||||
1.0.8 | 485 | Oct 25th 2021 at 11:04 PM | Th3Essentials_1.0.8.zip | 1-click install | ||
Fix starterkitsystem finally Added /r command to reply to last message (private ingame messages) | ||||||
1.0.7 | 443 | Oct 25th 2021 at 8:11 PM | Th3Essentials_1.0.7.zip | 1-click install | ||
Fixed broken starterkit items (eg lanterns) | ||||||
1.0.6 | 464 | Oct 8th 2021 at 7:38 PM | Th3Essentials_1.0.6.zip | 1-click install | ||
added new shutdown command (it will restart the server if configured) renamed /restart to /restarttime to remove confusion | ||||||
1.0.5 | 475 | Oct 7th 2021 at 6:11 PM | Th3Essentials_1.0.5.zip | 1-click install | ||
fixed whitelist slashcommand not working if player was not on server yet | ||||||
1.0.4 | 482 | Sep 26th 2021 at 5:34 PM | Th3Essentials_1.0.4.zip | 1-click install | ||
Added configurable permissions for the whitelist and allowcharselonce slashcommands | ||||||
1.0.3 | 507 | Sep 20th 2021 at 9:08 AM | Th3Essentials_1.0.3.zip | 1-click install | ||
Fixed creation of slashcommands Updated guid with permissions | ||||||
1.0.2 | 508 | Sep 16th 2021 at 10:23 PM | Th3Essentials_1.0.2.zip | 1-click install | ||
add /whitelist and /allowcharselonce discord commands
to get the new slashcommands run
in the linked chat channel | ||||||
1.0.1 | 489 | Sep 16th 2021 at 5:44 AM | Th3Essentials_1.0.1.zip | 1-click install | ||
Add the option to show discord command repsonse only to the user that used the command Fixed messages are only send from GeneralChat (also includes Info log) to discord and not every chat channel like private groups and such | ||||||
1.0.0 | 501 | Sep 14th 2021 at 6:31 PM | Th3Essentials_1.0.0.zip | 1-click install | ||
initial release |
IamTaylorMade yes it works for 1.20.11
Werka is that still an issue? what other mods are you running ? what game version and mod version?
Any update for 1.20.11?? or does this work with 1.20.11
22.5.2025 11:25:30 [Error] [th3essentials] Exception: BinaryFormatter serialization and deserialization have been removed. See https://aka.ms/binaryformatter for more information.
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph)
at HarmonyLib.PatchInfoSerialization.Serialize(PatchInfo patchInfo)
at HarmonyLib.HarmonySharedState.UpdatePatchInfo(MethodBase original, MethodInfo replacement, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer)
at Th3Essentials.Discord.Th3Discord.Init(Th3Essentials th3Essentials) in /home/dilli/drive_linux/git_repos/vintagestory/mods/Th3Essentials/Th3Essentials/Discord/Th3Discord.cs:line 94
at Th3Essentials.Th3Essentials.StartServerSide(ICoreServerAPI sapi) in /home/dilli/drive_linux/git_repos/vintagestory/mods/Th3Essentials/Th3Essentials/Th3Essentials.cs:line 101
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 641
22.5.2025 11:25:30 [Error] Failed to start system Th3Essentials.Th3Essentials
Scorives
oh that maybe since it will try to print the entire mod list and that will exceed the 2000 character limit for a single discord message so I will need to split it into multiple messages for that one.
the reconnect is normal and can happen from time to time either since discord requests a reconnect or some connectiont issues, as long as it says Connected again you do not need to worry
keep getting the application did not repond when running server info only that one command the rest work fine is it due to a limit of mods as i have like 130 of them? also just for reference using 2.11.0 on 1.20.11
also getting random disconnects
15.5.2025 23:00:48 [Server Debug] [Discord] Gateway Disconnecting
15.5.2025 23:00:48 [Server Debug] [Discord] Gateway Disconnected
15.5.2025 23:00:49 [Server Debug] [Discord] Gateway Connecting
15.5.2025 23:00:49 [Server Debug] [Discord] Gateway Connected
15.5.2025 23:00:49 [Server Debug] [Discord] Gateway Resumed previous session
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.
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!
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
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
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.
works perfectly, just didn't understand how to put myself in admin because when I changed it it no longer started
Confirming that the cooldowns for teleport to player and random teleport are resetting randomly. Since months already.
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
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.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
Is it possible for people to run the /shutdown command on the bot without being in administrative roles on a Discord server?
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
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.
@Th3Dilli thanks I'm going to use this then
Weeder
this is a server side mod, all server side mods are only needed on the server and the clients can stay fully vanilla
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 ]
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
@Th3Dilli Is there any way to allow other players in Discord to execute commands such as /shutdown?
Hey why is it not possible to port to the home set by the temporal gear with the /home command?
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.
Will this be updated to 1.20.1?
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
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
Is there a way to add other group chats to be sent to discord channel? Like the Proximity chat from other mod?
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.
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!
Rhyagelle
can you send me the server-main log on my discord
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?
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
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?
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 :)
Th3Dilli
Mostly wanted it separate so the log in/outs don't crowd out and clutter the game chat.
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?
Is there a way to have the game chat go to one discord channel and the log in/out messages go to another?
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 ;)
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
Please make editable the bot presence message. And why the text is like wierd when I am typing in game?
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
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.
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?
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
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.
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
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
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.
Have you considered making a version for Matrix-the FOSS discord alternative?
Okay, I found the reason for the error and it was a mistranslation on my part.
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",
Kaofan
there are instructions on the repository readme see the link in the description at the end
Th3Dilli Would you add some description on what to do to make the bot work properly and have access to its commands on discord?
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
Th3Dilli When will my Polish version be added?
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!"
}
There could be a Mute Command, to just mute those players with a peculiar mouth, that would be very handy
KingOfTheMochas
Are you on the latest version?
It should be fixed there
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.
NiclAss
<3
Great Mod!
One of the best tools for Server Admins.
Thanks for your good work!
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!
Th3Dilli works now. Thanks!
CreativeRealms
try again pls with the newest version that is build for 1.17
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
so, with starterkit is their a way to create more then one kit? like not just a starter kit?
RogueRaiden
with the "
AdminRoles
" you can add any role to display a tag see the repository readme for more informationOnly admin and moderator roles will show a tag?
Could any role be set to show a tag?
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
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.
@Th3Dilli yeah, i checked it after posting, working as should.
Can you add warps? it will be perfect
YourCreator
thank you for the russion translation ;)
for the issue you are having check out the solution right below the "Important:" headline here
Russian translate.json
[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:
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! ★★★★!
Getting "The temporal storm seems to be waning" every time on server restart, even though temp stability and rifts are disabled on the server.
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
[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
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
RC8 has broken all functionality of 1.1.0
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?
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
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.
{
"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
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!!!
oh yeah did not think about that sorry
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.
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
No, i mean if people use /starterkit. If theres a lantern included in that kit. Th3Dilli
WickedSchnitzel
i guess you mean the Th3Expansion mod, what lanterns do you mean exactly?
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