SRMP-Public/manual.md
ZervóTheProtogen 5d91ce2a70
Update manual.md
Update manual.md with more up-to-date information, as well as fix some grammar.
2023-07-18 21:29:50 +02:00

28 KiB
Raw Blame History

SRMP Manual

This is a detailed manual for the Slime Rancher MultiPlayer mod (SRMP), it has installation instructions, compability information, usage instructions, troubleshooting steps and some more. It is updated frequently to make it more readable and easier to understand. Now that it is on github, feel free to contribute! If this manual doesn't answer your questions or in case you don't understand something, feel free to ask your questions in Saty's Discord.

Content

Here is a list of content in this document. Click a link to jump to that section of the document.

What is SRMP?

Compability

Download the mod

Install the mod

Using the mod

Troubleshooting

Credits

What is SRMP?

Slime Rancher MultiPlayer, or SRMP, is a mod developed by Saty that adds multiplayer functionality to the game Slime Rancher. Development was abandoned at one point but was recently picked up again by @Twirlbug.

Compability

SRMP works on all PC versions of the game except for the Microsoft Store version, so: Steam, Epic Games and GoG. Remember, this mod is for Slime Rancher 1, not 2! As Slime Rancher runs natively on windows, so will the mod. Both Slime Rancher and SRMP works on Linux, and the non-PC platform Mac, however getting Slime Rancher to work on those may require additional steps, and there are some issues with the mod that you may encounter (described in the Troubleshooting section). Below is a table to better visualize the platform compability for Slime Rancher + SRMP. Note: Table may currently be inaccurate as I dont have enough data.

Compability Windows Linux Mac Other
Steam 🟢 Compatible 🟢 Compatible Unknown 🔴 Incombatible
Epic Games 🟢 Combatible 🟡 Kinda works Unknown 🔴 Incombatible
GoG 🟢 Combatible Unknown Unknown 🔴 Incombatible
Microsoft Store 🔴 Incombatible 🔴 Incombatible 🔴 Incombatible 🔴 Incombatible

Unknown just means that the original author didn't have enough data to say if the platform would work or not.

If you want an explanation to a specific entry in the table, select the operating system and platform below:

Windows
Windows: Steam 🟢 Compatible: The game runs natively on Windows and Steam, no issues should be caused by this combination.
Windows: Epic Games 🟢 Compatible: The game runs natively on Windows and Epic Games, no issues should be caused by this combination.
Windows: GoG 🟢 Compatible: The game runs natively on Windows and GoG, no issues should be caused by this combination.
Windows: Microsoft Store 🔴 Incombatible: As with everything else from the Microsoft Store, this version of the game is scuffed.
Linux
Linux: Steam 🟢 Compatible: By using proton and then installing the mod as you would on windows, you get the same performance and probably no issues.
Linux: Epic Games 🟡 Kinda works: So far only tested through Heroic Games Launcher as well as Lutris. Sometimes it works without issues, but broken UI is common.
Linux: GoG Unknown: Not tested (by the original manual author) yet. Not enough data to cover this entry.
Linux: Microsoft Store 🔴 Incombatible: Good luck getting Microsoft Store working on linux. Even if you did, this version doesn't work with the mod.
Mac
Mac: Steam Unknown: Not tested (by the original manual author) yet. Not enough data to cover this entry.
Mac: Epic Games Unknown: Not tested (by the original manual author) yet. Not enough data to cover this entry.
Mac: GoG Unknown: Not tested (by the original manual author) yet. Not enough data to cover this entry.
Mac: Microsoft Store 🔴 Incombatible: Good luck getting Microsoft Store working on Mac. Even if you did, this version doesn't work with the mod.

Download the mod

The first step for any platform is to download the mod. There are two ways to do this, one free and one paid, and there are multiple versions to choose from so here is a short explanation. The first alternative: you can get access to the mod by purchasing it on itch.io, which is mainly to support Saty. Even though the mod isnt being developed by her anymore, Saty did a lot for the community and helped change Slime Rancher for the better, so paying for the mod even though development has stopped is a great way of giving back. If you cant afford to pay for the mod or if you are selfish then there are two other methods: Discord and Github (not sure about github but I assume the mod will be released here as well). Do not get it from any other sources. Before downloading, decide which version to use, read below

Which version to use?

There are a lot of versions of the mod, and two different “types”. Whether you get the mod from Itch, Discord or github, trying to find the correct file can be confusing. To keep this short: the latest recommended version is 1510, there are older versions available on discord but those have more issues. All versions prior to 1503 has a bug that breaks the exhange, so that you dont get any rewards when completing trades. 1503 fixes that, but it is recommended to stick to the latest recommended version.

There are two “types” for each version, one called SRML and one called Standalone. SRML is for the Slime Rancher Modlauncher, and allows you to use it with other mods (with varied results). Since that version is installed like any other SRML mod, instructions for that arent provided here (yet). Usage instructions still apply. Standalone is for running SRMP standalone, who could have guessed! That means indepentent of other modloaders, and It is actually really easy to install! Thats all you need to know for picking a version, if you are unsure, go with SRMP_1510_Standalone. The recommended version might change in the future, the manual will be updated if it does.

Download on Itch.io (paid)

If you want to get the mod and support Saty at the same time, then head to the itch.io page! Here you pay and download your desired version. If you are new to this mod and didnt read the Which version to use? section above, I highly recommend you do so instead of downloading a random file and then bothering people in the discord with your questions. Note that new releases probably won't be published to itch. Now install the mod for Windows, Linux, or Mac.

Download on Discord (free)

The mod is available to download for free in Saty's Discord. All you need to do is join the discord and then download your desired version from the #multiplayer-development channel. So, now that you have downloaded your mod zip archive, move on to the next step, installation! This document includes instructions for installing the mod on Windows, Linux and Mac.

Download on Github (free)

The most obvious place to get the mod is probably from this github repo, head over to the releases page and get the version you have decided on. Then proceed to install the mod on Windows, Linux or Mac.

Install the mod

Now that you have downloaded the mod (because you have done that, right?) it is time to actually install it! Remember that these instructions are for the Standalone version, SRML version is installed like other SRML mods and therefor instructions are not provided here (yet). Troubleshooting tips may still apply to SRML version. Now follow the steps for your OS and platform.

Windows

1. Finding the game installation directory The first step to installing the mod is to know where to install it to. We need to find the game installation directory (we will refer to it as GID from now on). This is done a little different depending on which platform (aka launcher) you have the game on. If you have it on multiple and one of them is steam, use steam. If you pirated the game, get out of my manual. Read the section for your launcher.
1.a. Steam It is really easy to find the GID on Steam, it only takes a few clicks. Open your library and find Slime Rancher in the list. Rightclick it, hover over Manage and click Browse local files. This should open the explorer (or your default file explorer) in the GID. You know it is the correct directory if it contains a folder called SlimeRancher_Data.
1.b. Epic Games Finding the GID on Epic Games can be a little more complicated, as they arent installed to a universal location. The easiest thing is to initialize an install for another game and check what the pre-selected installation directory is, cancel the install and then check that directory for your GID. You know it is the correct directory if it contains a folder called SlimeRancher_Data. Another way to find it is to check the path of the Slime Rancher desktop entry/shortcut, or to just reinstall the game to a known location.
1.c. GoG Since I (the original manual author) have never used GoG, this is written using information I could find online. According to the GoG support center, games are installed to a universal directory by default, called GoG Games. This is located in a directory defined by the HOME environment variable. You should be able to find this path by opening command prompt and running the command echo %HOME%. You know it is the correct directory if it contains a folder called SlimeRancher_Data.
2. Installing the mod Once you know the GID (game installation directory) of your game you can move on to actually installing the game. First up, make sure you have your GID open in a file explorer. Again the GID can be identified by containing a folder called SlimeRancher_Data. Next, open the directory containing the downloaded mod zip archive (probably Downloads). Copy or move the zip into the GID, not into SlimeRancher_Data or another folder inside of the GID, but the GID itself, the directory containing SlimeRancher_Data and such. Now that the zip archive is in place, extract it by rightclicking and selecting extract here. It should ask to replace a file in SlimeRancher_Data, if it does then select yes, if it doesnt then you have extracted it to the wrong directory or you just need to move it out of a folder first. Once extracted correctly, it should have replaced a file in SlimeRancher_Data and created a new folder called Mods (do not put other mods in here). Thats it! Now move on to step 3.
3. Verifying the install Now to test if everything has installed correctly. Start the game from your launcher and wait for it to load. Once in the main menu, you should see a gray box in the top-right. If you do, you did everything correctly. If you dont, try pressing f4 and if it still doesnt show up then you did something wrong, go back. Now that you have the mod installed correctly, you can enter a username in the gray box, it can be anything and will be the name shown in-game. Now that the mod is installed and working you can move on to using the mod.

Linux

This section will be updated with actual instructions in the future, but for now here are the basic instructions for steam: Install the game with proton, then install the mod as you would on windows. Done!

Mac

As I (zervó) have never touched a Mac in my life, I have no idea how this works. Please update on this section.

Using the mod

Now that you have installed the mod and it is working correctly it is time to actually use it. There are 3 main methods to choose from: Playing over LAN, Playing over “fake” LAN (VPN), and Playing over the Internet (port forwarding). The options are ranked below from easiest to hardest. There used to be a 4th method, server codes, but as far as I know they no longer work as the server for them has been shut down.

All three methods have a few things in common. First, make sure to choose a username if you havent already, this can be anything and will be the name shown in-game. Second, all three methods use some combination of IP address and port to host and join. An Ipv4 address which is the type you will most likely be using, looks like this: xxx.xxx.xxx.xxx, with x being numbers. Common ones for private Ips (local networks) are 192.168.1.xxx and 10.10.1.xxx. EG 192.168.1.43 or 10.10.1.107. Public Ips (external/WAN connections) usually have completely different numbers but the structure is the same. The port is a combination of 5 numbers, which the host can find once they are in a loaded save.

Note down the port before attempting any of the methods, or use a method with a port that you choose and change the port in the game later.

Playing over LAN

This method only works if you and the other player/s are on the same local network (or same wifi, in incorrect terminology aka Layer 8 lingo). One player takes the role as the host. The host needs to load a save, it can be an old one or a new one it doesnt matter just enter a save. Now in the game, the host checks the menu top right. There will be a few options there. Now the host notes down the port and clicks Host. The host now needs to find their local IP address. The fastest way to do this is probably through a terminal. On windows: open command prompt, enter ipconfig (no signs) and press enter. Find the correct network adapter in the list and then the local ip. On linux, open a terminal and enter ifconfig, then do kinda the same thing as on windows. Players now from the main menu choose to join a game and join by IP address, entering it into the correct field, and then the port into the correct field and then joining. Its that simple.

Playing over "fake" LAN (VPN)

If you arent on the same network then there is still a pretty simple way to do it. Introducing, Hamachi! Before you get too exited you should know there is a drawback with this method, two actually. The first one is that you have to sign up for an account, the second one is that Hamachi has a rate limit, meaning that you could run into issues like not being able to see other players and falling through the map. Now the first step to using Hamachi is to getting an account (NOTE: these hamachi instructions are for Windows/Mac, if you are using linux you know better than to use hamachi but you still can, however it is through commandline so you wont get any help here). You can create an account by going here. Once your account is created and verified and whatnot, download hamachi from their homepage. Now you need to setup and join a hamachi network, which is described pretty well here, skipping the Host a Server section and the other game specific part at the end. Once all players are connected to the hamachi network, you just host and join as if you were on the same local network as described in the Playing over LAN section above. If Hamachi fails you can try an alternative called Radmin. Hamachi local Ips may be different, if they are then google how to find them or something. I will update this to include instructions for that at some point.

Playing over the Internet (port forwarding)

The third and most advanced option is port forwarding, but it is also the one giving the best results if all players arent on the same network. There are two ways to port forward: via your routers admin interface or through a UPnP portmapping client. The second one is easiest and most convenient, but not all routers support it, it could also pose a potential security risk. I would recommend trying UPnP first as it is pretty easy with the client I will be using, and try to do it via the admin interface if UPnP doesnt work. Using a UPnP client doesn't make the security problems with UPnP bigger, because if it works then it is already enabled in your router which means the security flaws are already present.

Via the router's admin interface This method of port forwarding is the most complicated of the two, to be honest the UPnP client I used in those instructions isnt even complicated at all so try that one first if you havent already. Now, to get started with this method you need login credentials for your router. They are usually found on a sticker on the back of the router. There might be one for wifi credentials and one for admin credentials so doublecheck that you have the right one. If you are lucky there is a default address listed on the sticker as well (usually called “internal address” or just “ipv4 address”) that will save you some time by skipping the next part of the instruction, finding your routers local ip.

To find your routers local ip on windows: open command prompt and run ipconfig. Look for something that says default gateway, that should be your router ip. On Linux: open a terminal and run ip route. The first thing that is displayed should be something like “default via 192.168.1.1”, that ip address at the end is the one you are looking for. On mac: open System Preferences, navigate to Network > Advanced > TCP/IP, and find the IP address listed next to “Router”, that is the one you are looking for.

Now that you have the IP of your router, open a web browser and put it into the address field (do not search for it, enter it as an address). It should open a webpage, if it doesnt and just searches instead, put http:// in front of the address. Now log in with the credentials you found earlier, some routers display a default status page and requires you to press something before showing the login prompt. Once you are logged in try to find the port forwarding section, for me it was under “NAT/QoS”. Add a new rule. Below are the values you should input, each field might be called something different in your router and there might be extra fields, or less. Generally the other fields can be left empty, otherwise just google them. If you get confused, look up a video or image of port forwarding.

Application name: can be whatever, I will use srmp Source net: can be left empty Protocol: UDP External start port: the port you noted down earlier External end port: same as above Internal port: same as above IP Address: the IP of your machine (instructions on how to find in Playing over LAN) Enable: yes

Now that the rule is complete, save and/or apply it. You should now be able to exit the admin interface of your router and test the rule. Host the save in the game if you havent already. Your friends join with your public IP and the port as described in the intro to this section. If you are unsure you can find your public IP at https://whatismyipaddress.com or similar websites. No they dont “doxx” you, your public IP address is just as the name suggests publically accessable and is necessary to access the internet. If you are using a VPN, turn it of as it "changes" your public IP to something where you can't map ports.

Via an UPnP client

If you are lucky and your router supports UpnP and it is enabled this method will work for you. Using a special program you can utilize UPnP to create port forwards without having access to your routers admin interface. To do this we will use a program called portmapper, download the .jar file from Assets here. You need to have java installed on your system. Once you have the program downloaded run the jar file, a white window with a bunch of stuff will show up. Click the button that says connect and wait, if it connects, great! It might say that there are multiple routers, check the list and if they are the same just click ok. If it cant connect, go into PortMapper Settings and change the UPnP library to something else and try connecting again. If you have tried them all and it doesnt work, then Im sorry, UPnP wont work for you.

Now if you are connected, all active UPnP rules will show up. You might see some that other games have created. You will also see your routers external address, or public ip, which is another way to find it. Now in the box that says Port mapping presets click Create. A new window will open. The Description field is basically the name, so I will call it srmp. Remote host can be left empty. For Internal Client, check Use local host. It should select your local network ip. Now click Add. For the Protocol, change it to UDP. And for both External Port and Internal Port you should put the port that you noted down earlier. Now click Save. Now in the Port mapping presets box you should see your srmp record. Click Use. This should add the port forward to your router. Click Update to make sure that it is still there. Now players can try joining as described earlier, with public ip and port! Public IP can be found on sites like this, but it usually also shows up in the interface of the portmapper software. Unlike traditional port forwarding you probably dont need to worry about removing these records, as most routers clears them when you reboot them. If you want to remove them, you can do so by selecting the record in the list and clicking remove. This method of port forwarding can also be used to forward for any other game, and is in my opinion very easy and convenient. You could let your friends from all over the world join your minecraft world for example!

NOTE: If this method didn't work and UPnP isn't enabled in your router, I don't recommend trying to enable it for future use. As this program demostrates, you don't need any form of authentication to map ports with UPnP. This means that rouge devices on your network could open ports which would allow hackers and other people with malicious intents to get full access to your home network. So if UPnP is disabled, leave it like that (unless you have a very sophisticated network architecture and you know what you're doing).

Troubleshooting

Here is a bunch of scenarios where some things with the mod might not work for different reasons, and how to solve those issues. Not all issues are listed here, and if this doesnt help you, ask in the Discord. The main README file has an up-to-date list of known issues.

Before driving yourself insane trying to find a solution to your problem, if it's your first time starting an srmp session, get all players to restart the game entirely. This can fix some common issues. Restarting the game can also fix issues you may encounter later on.

Players are invisible

If you are using Hamachi, Radmin or a similar solution then this is likely caused by rate limiting. The mod uses a lot of network traffic, especially when loading. One solution you could try is to disable encryption in Hamachi or whatever solution you are using, or if possible changing/removing any limits. If it doesnt help immediately then wait a bit. If you have waited for a while and nothing has changed then you probably want to use another method in using the mod. If you have tried everything up to port forwarding and it still doesnt work then there is something on your network limiting your connection or your network/internet connection is just slow. Try to let someone else be the host.

"Someone with that UUID already online" This error is caused by an occupied UUID. If you are using a pirated version of the game, get out of this manual! If you arent and you still get the issue then open your game installation directory, find the UserData folder in the SRMP folder and delete it. Restart the game.
"Not recieving rewards from the exchange/trades" This bug should be fixed in version 1510 and upward thanks to @Twirlbug
DLC Mismatch This is a common connection error caused by players not having the same DLC activated. This can be solved by deactivating all DLCs or all players getting the same DLCs.
Can't connect to a server If you cant connect to a server it is because something is blocking traffic. This could be because the selected port is already in use, there are firewall rules on the host/client machine blocking traffic, there are firewall rules on the router doing the same thing, incorrectly forwarded port etc.
Falling through the map This issue can be caused by the same things that case the "Players are invisible" issue. Try the fixes there. According to some user reports, walking around the map before hosting and letting other players join can also fix these issues.
Game crashing instantly on startup You probably did something wrong with installing the mod, like installing Standalone when you needed SRMP or the other way around. Or trying to install multiple versions on top of eachother. It is best to start with a fresh install of the game before installing the mod, and that includes clearing the installation directory before uninstalling it from your launcher.

Credits

Mainly wanted to include this section for people who want to ask me (the original manual author) questions. The manual was originally written by Zervó (zervowo on discord). Contact me if you need help with the manual or just the mod in general.

I want to include Saty here, she has done an amazing job creating this mod. Thank you Saty. I also want to thank Twirlbug for continuing development on this mod.