mmmaxwwwell / space-engineers-dedicated-docker-linux

Space Engineers Dedicated Server running in Docker for Linux
MIT License
177 stars 43 forks source link

MODS #54

Closed ZERONIGT closed 6 months ago

ZERONIGT commented 1 year ago

Hello, I'm relatively new to Linux, is there any guide for installing mods on the server?

ZERONIGT commented 1 year ago

зображення Even when trying to install through Steam, it says this.

ilmal commented 1 year ago

Here is a documentation that worked for me:

https://www.gameserverkings.com/knowledge-base/space-engineers/space-engineers-mod/

You need to edit the server configuration file and add the mod ids there.

I ran into an error/ bug downloading the mods, and had to do this fix:

https://steamcommunity.com/sharedfiles/filedetails/?id=2835041807

xcoldfyrex commented 1 year ago

I ran into an error/ bug downloading the mods, and had to do this fix:

https://steamcommunity.com/sharedfiles/filedetails/?id=2835041807

Can share your commands? I'm hitting the (likely) same issue downloading mods- download finished. Result: k_EResultFail , I've got the following examples of vstdlib_s

find ~ | grep -i vstdlib_s
./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/vstdlib_s.dll
./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/vstdlib_s64.dll
./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/DedicatedServer64/vstdlib_s.dll
./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/DedicatedServer64/vstdlib_s64.dll

but when I try copying from SpaceEngineersDedicated into SpaceEngineersDedicated64, wine segfaults, which leads me to believe something is missing or I'm doing this wrong..

ilmal commented 1 year ago

The .dll files should be from your steam client installation. And so you need to import them from wherever you have steam installed on you gaming computer (where the space engineers game is installed).

Space engineers game should be installed at (i'm doing this from memory so the path might be incorrect): "C:...\Steam\steamapps\common\Space Engineers\"

And in the "C:...\Steam\" folder you have .dll files that you need to copy over to your server.

They should be copied to the: "./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/DedicatedServer64/" folder

Let me know if i'm unclear in my explanation.

ZERONIGT commented 1 year ago

The .dll files should be from your steam client installation. And so you need to import them from wherever you have steam installed on you gaming computer (where the space engineers game is installed).

Space engineers game should be installed at (i'm doing this from memory so the path might be incorrect): "C:...\Steam\steamapps\common\Space Engineers"

And in the "C:...\Steam" folder you have .dll files that you need to copy over to your server.

They should be copied to the: "./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/DedicatedServer64/" folder

Let me know if i'm unclear in my explanation. The information is correct, but there is a glitch in the server. It does not save the world after restart.

ZERONIGT commented 1 year ago

I ran into an error/ bug downloading the mods, and had to do this fix: https://steamcommunity.com/sharedfiles/filedetails/?id=2835041807

Can share your commands? I'm hitting the (likely) same issue downloading mods- download finished. Result: k_EResultFail , I've got the following examples of vstdlib_s

find ~ | grep -i vstdlib_s
./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/vstdlib_s.dll
./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/vstdlib_s64.dll
./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/DedicatedServer64/vstdlib_s.dll
./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/DedicatedServer64/vstdlib_s64.dll

but when I try copying from SpaceEngineersDedicated into SpaceEngineersDedicated64, wine segfaults, which leads me to believe something is missing or I'm doing this wrong..

Unfortunately, this is the only way to install mods on the server. But after that it crashes before returning the standard libraries, so save them. Currently, the Linux server does not work correctly due to its dependency on the Net.Framework libraries.Keen you will need to hotfix 6 steam dll's in the DedicatedServer64 folder. In an updated copy of SteamCMD "C:\steamcmd\steamapps" in my case, the 6 dll's below need to be copied into the DedicatedServer64 directory, overwriting the older files.

steamclient.dll

steamclient64.dll

tier0_s.dll

tier0_s64.dll

vstdlib_s.dll

vstdlib_s64.dll

ZERONIGT commented 1 year ago

Ось документація, яка спрацювала для мене:

https://www.gameserverkings.com/knowledge-base/space-engineers/space-engineers-mod/

Вам потрібно відредагувати файл конфігурації сервера та додати туди ідентифікатори модів.

Я зіткнувся з помилкою/помилкою під час завантаження модів, і мені довелося виправити це:

https://steamcommunity.com/sharedfiles/filedetails/?id=2835041807

Unfortunately, this makes the server too unstable.

xcoldfyrex commented 1 year ago

The .dll files should be from your steam client installation. And so you need to import them from wherever you have steam installed on you gaming computer (where the space engineers game is installed).

Space engineers game should be installed at (i'm doing this from memory so the path might be incorrect): "C:...\Steam\steamapps\common\Space Engineers"

And in the "C:...\Steam" folder you have .dll files that you need to copy over to your server.

They should be copied to the: "./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/DedicatedServer64/" folder

Let me know if i'm unclear in my explanation.

What threw me off is I use Linux + Proton for the Steam client, I don't have have something to provide those dlls. I took them from the other directory provided with the container(SpaceEngineersDedicated/). It causes wine to crash a LOT when starting, but it eventually will randomly start and download the mods and the world loads as expected. Once it's up, it seems stable and otherwise OK. I have a backup of the original dll files to restore the original files when I need more predictable startups.

ZERONIGT commented 1 year ago

The .dll files should be from your steam client installation. And so you need to import them from wherever you have steam installed on you gaming computer (where the space engineers game is installed). Space engineers game should be installed at (i'm doing this from memory so the path might be incorrect): "C:...\Steam\steamapps\common\Space Engineers" And in the "C:...\Steam" folder you have .dll files that you need to copy over to your server. They should be copied to the: "./space-engineers-dedicated-docker-linux/appdata/space-engineers/bins/SpaceEngineersDedicated/DedicatedServer64/" folder Let me know if i'm unclear in my explanation.

What threw me off is I use Linux + Proton for the Steam client, I don't have have something to provide those dlls. I took them from the other directory provided with the container(SpaceEngineersDedicated/). It causes wine to crash a LOT when starting, but it eventually will randomly start and download the mods and the world loads as expected. Once it's up, it seems stable and otherwise OK. I have a backup of the original dll files to restore the original files when I need more predictable startups.

Unfortunately, my experience has shown that the server is unstable, it may not find an IP, and after finding it after a while, it may simply crash as if nothing had happened.

ilmal commented 1 year ago

Yes, I have experienced no IP as well, although judging from another issue in this repo, it seems to be a problem with space engineers itself and not this patch.

I found that stopping the server and waiting a minute or so before restarting it usually helps.

But yes, it's not ideal.

ZERONIGT commented 1 year ago

азвичай допомагає зупинка сервера та очікування близько хвилини перед його перезапуском.

Але так, це не ідеально.

Unfortunately, in my case, the server starts to crash after a while. And saving the world doesn't work.

mmmaxwwwell commented 6 months ago

I pushed a commit to the v2 branch to fix the mod download issue, please test and reopen or open a new one if not resolved. Also, please try and keep the issues to one per thread.