Multiple RimWorlds on Linux

Started by Belgrath, April 17, 2020, 12:05:18 PM

Previous topic - Next topic

Belgrath

Hello all.

I'm trying to setup Rimworld on my Linux Mint laptop the same as I have on my Windows 10 desktop.

I have 4 version of RimWorld installed on the Windows machine.

* Steam RimWorld for the latest build, short games with a couple of mods
   made with mklink /J "C:\Users\<user>\AppData\LocalLow\Ludeon Studios" "C:\My Documents\Dropbox\Games\Ludeon Studios\RimWorld by Ludeon Studios"

* RimWorld Royalty with the 20+ mods. Run with this line in the shortcut
   C:\Games\RimWorld\RimWorldWin64.exe -savedatafolder="C:\My Documents\Dropbox\Games\Ludeon Studios\Rimworld"

* RimWorld 16 with a list of 20+ mods. Run with this line in the shortcut
   C:\Games\RimWorld\RimWorld1393Win.exe -savedatafolder="C:\My Documents\Dropbox\Games\Ludeon Studios\RimWorld_16"

* RimWorld1393 with old mods playing what I call MarsWorld because of the Mars mods
   C:\Games\MarsWorld\RimWorld1393Win.exe -savedatafolder="C:\My Documents\Dropbox\Games\Ludeon Studios\MarsWorld"

I tried adding these 2 lines start_RimWorld.sh but all I get a blank screen.

#set config file location
-savedatafolder="/home/[user]/.config/unity3d/Ludeon Studios/MarsWorld/config/"

I also made a launch menu icon and added -savedatafolder="/home/[user]/.config/unity3d/Ludeon Studios/MarsWorld/config/" and got a blank screen.

Thanks.
I love testing things and watching them break   :P
Sure I'll test it for you!
"Are you a Wizard^^ Belgrath?"
"maybe..."

Ark

Just use -savedatafolder=Saves. It creates this folder structure:

├── RimWorld1-1-2565Linux
│   ├── Saves
│   │   ├── Config
│   │   ├── Saves
│   │   └── Scenarios
├── RimWorld1-1-2567Linux
│   ├── Saves
│   │   ├── Config
│   │   ├── Saves
│   │   └── Scenarios

I think the old versions behaved differently and used .config/unity3d/blabla configs regardless of -savedatafolder. If you have 1.1 config files there it may be throwing the old versions off.

Belgrath

Thanks Ark.
But as I posted before, I have tried that already and it doesn't work.
I love testing things and watching them break   :P
Sure I'll test it for you!
"Are you a Wizard^^ Belgrath?"
"maybe..."

Ark

So none of your RimWorld versions work, or just some of them? Have you ever launched RimWorld successfully in Linux? How are you launching it? Have you read If the game won't start properly?
Please paste your modified start_RimWorld.sh from the latest version using the code tag.
What happens when you open a terminal, go to the folder with the latest unmodded RimWorld version, and run

LC_ALL=C ./RimWorldLinux -logfile "RimWorld.log" -savedatafolder=Saves

or

LC_ALL=C ./RimWorldLinux -logfile "RimWorldOpenGL.log" -savedatafolder=Saves -force-opengl

If it still doesn't run, rename ~/.config/unity3d and try again. There's propably settings and maybe saves from other Unity games in there so you'll want to move those back afterwards. Paste errors using the code tag and attach logs.

I just noticed that this is a Steam version. I haven't touched that for ages, so if Steam version is somehow different, my advice may not be applicable.

Belgrath

Thanks for the suggestions.
Yes I have launched RimWorld 16 (1393) Linux many times on this install of Linux Mint.
I haven't installed Steam or the current Rimworld yet.

LC_ALL=C ./RimWorld1393Linux.x86_64 -logfile "RimWorld.log" -savedatafolder=./Saves
After running the code in a terminal, this log I get.
RimWorld.log  https://www.dropbox.com/s/o6ljyf39md6rmf1/RimWorld.log?dl=0

Here is the start_RimWorld.sh I've tried  https://www.dropbox.com/s/mx6zr26skbblz58/start_RimWorld.sh?dl=0
I love testing things and watching them break   :P
Sure I'll test it for you!
"Are you a Wizard^^ Belgrath?"
"maybe..."

Ark

No errors in that log, I take that it launched normally.

Okay. Here's what the important bits look like.

#Locale resetting (important for Ubuntu players who are not native speakers of English) and launching the game.
#LC_ALL=C ./$GAMEFILE $LOG


#set config file location
-savedatafolder="./Saves"

You have commented out the line that actually launches the game.
You are treating the shell script to launch the game like it is a config file, it is not.
If you want to emulate the style this script is written in, try someting like:

#!/bin/bash
#Launcher for the Linux version of RimWorld

# cd into the directory containing this script
SCRIPT=$(readlink -f "$0")
DIR=$(dirname "$SCRIPT")
cd "$DIR"

#Getting game executable name.
GAMEFILE=`ls | egrep x86$`

#Checking if OS is 32 or 64 bits and adjusting the game executable name accordingly.
OSVERSION=`uname -m`
if [[ $OSVERSION == "x86_64" ]]
    then GAMEFILE=${GAMEFILE}_64
fi

#Puts the game executable as... executable if not the case.
if [ ! -x $GAMEFILE ]
    then chmod +x $GAMEFILE
fi

#If this is a dev version, we want to activate logs.
#if [[ $GAMEFILE == *Dev* ]]
#    then LOG="-logfile /tmp/rimworld_log"
#    else LOG=""
#fi

#We always want to activate logs
LOG="-logfile ./rimworld_log"

#set config file location
SAVES="-savedatafolder=Saves"

#Locale resetting (important for Ubuntu players who are not native speakers of English) and launching the game.
LC_ALL=C ./$GAMEFILE $LOG $SAVES


Old RimWorld versions do not like quotes or backslashes in the save folder location. At all.
Don't put it in a folder with a space in its path if you want to use an absolute path.

Belgrath

Bugger. Thats what I get for playing with it at 4am.
So I copy and paste the start script you made and it works.
I love testing things and watching them break   :P
Sure I'll test it for you!
"Are you a Wizard^^ Belgrath?"
"maybe..."