tModLoader

tModLoader

48 ratings
Subworld Library Unofficial Mod Patch
   
Award
Favorite
Favorited
Unfavorite
Mod Side: Both
tModLoader Version: 1.4.4
Language: English
File Size
Posted
Updated
46.151 KB
5 May @ 2:56pm
21 Jun @ 6:00pm
5 Change Notes ( view )

Subscribe to download
Subworld Library Unofficial Mod Patch

Description
Subworld Library Unofficial Mod Patch (SLUMP)

This mod patches Subworld Library by adding additional functionality and potential fixes to improve the multiplayer experience of subworlds.

Currently the mod contains 3 server-sided patches which may improve stability in multiplayer:

1) Write Loop Thread.
- Seperates the Main Thread and sub/main server Read Loop Thread by adding an additional communication layer.
- Bypasses blocking writes on the main thread.
- Reduces the chance of servers deadlocking.
- Reduces potential communication slowdowns on the main server.
- May increase total packet latency for clients connected to a sub-server.

2) Packet Filter.
- Adds a packet filter to the incoming communication.
- Intentionally blocks/drops packets a client is not allowed to send during certain stages of the login process.
- Reduces the chance of random disconnects or 'infinite loading screens' when going between servers.
- Bypasses 'bootplayer' code.

3) Crash Detection.
- Keeps track of the process of the subserver.
- When the subserver closes transfers all players connected to the subserver back to the main server.
- NOTE: Trying to rejoin a crashed server might still cause infinite loading screens.

The individual patches can be enabled/disabled in the mod config. Some might need a reload!

If you encounter any problems, please post them on the workshop page.

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

FAQ:

Q: I get the message 'Backing up player file'.
A: Most likely the subserver crashed. Please check the log files for errors.

Q: Does this mod fix multiplayer for XYZ mod?
A: These patches are aimed at Subworld Library specifically, if another mod is not multiplayer compatible this will not make it work.

Q: Why do my boss downed status get reset?
A: Most likely only affects Calamity bosses, seems to be some issue on their end or a mod incompatibility. Use 'Calamity Boss Resyncer' mod for the time being.
45 Comments
Furina 13 Jul @ 5:26pm 
After enabling the Multiplayer-Fallback cosmic Voyages, I still periodically get the message telling me to enable subworld transit
Rhoenicx  [author] 7 Jul @ 12:07pm 
Anyways good to know you found the cause of the issue. I'll send a message to the Subworld Library developer about this.
Rhoenicx  [author] 7 Jul @ 12:06pm 
I know the about both of these failed messages. The first one on UpdateConnectedClients is a known issue on Subworld Library's side, SLUMP contains a fix for this one. I have currently no idea where the second failed message comes from, it appears to be caused by Subworld Library but don't know where or why exactly...
ODevil 7 Jul @ 3:15am 
Yes, the issue indeed stemmed from the start script.
I actually started the linux server using the manage-tModLoaderServer.sh, which apparently does not play well with Subworlds. After running the server with the regular start-tModLoaderServer.sh I am now able to enter Subworlds on my server.
ODevil 7 Jul @ 1:09am 
The log from the subserver itself only contained this error:
System.Net.Sockets.SocketException : Address already in use

But the log from the main server has the line that you mentioned.
[SubworldLibrary]: FAILED:
[tML]: ILHook Terraria.Netplay::UpdateConnectedClients() added by SubworldLibrary

and

[SubworldLibrary]: FAILED:
[tML]: ILHook Terraria.Netplay::UpdateConnectedClients() added by SLUMP

I have no idea why it fails tho, the exact same server works when I run it on windows. Unless there's a difference in the start scripts...
Rhoenicx  [author] 7 Jul @ 1:00am 
The subserver shouldn't give the message about opening a server with the same address because this should be bypassed and not run.

A scenario like this is only possible when somehow the launch arguments are not applied or one of the injections of Subworld Library failed.

I would suggest checking the log files of the subserver to see if there are any lines that say 'FAILED: '.
ODevil 6 Jul @ 8:16am 
Sadly, this still makes no subworld mod work for me. It seems the issue stems from the server trying to open 2 servers with the same address which creates a conflict.
ODevil 6 Jul @ 8:15am 
@Oe, in the Stars Above server config, enable the "Multiplayer-Fallback Cosmic Voyages" option. A bit counter-intuative, but this enables subworlds.
Oe 5 Jul @ 9:07pm 
A question. My friend and I started a game with Stars Above and installed this patch, but when we started it, it says I need to enable Subworld Transit in the settings. Where is that? Is that the reason my friend isn't seeing my game? We haven't been able to play because of it.
Rhoenicx  [author] 24 Jun @ 11:25am 
Thanks! I hope it keeps working for your group, if you encounter any problem make sure to let me know.