New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] Mod Integration Valheim Server #3287
Comments
P.S atleast for valheim, it is required to replace the core library dll's with unstripped versions in order for bepinex to run correctly. They can be acquired via: https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/ under the After attempting to get an lgsm instance to execute ~/run_bepinex.sh, which in turn was executing its patchers and chainloaders before finally executing |
I would love to see this, too. For now, is there any workaround to load the bepinex mods with the steamCMD server? |
So I think I figured out what block of script needs to be amended but I'm not sure where the actual startup of the server happens, anyone know where to paste this?
|
The closest I could get it to running was by copying the contents of run_Bepinex.sh to the common.cfg in the lgsm config folder, or directing it to the bepinex.sh from there. I've gotten it to run even but no monitoring or interaction. |
Yeah it seems like the best solution I've got is to just install the unix version of bepinex that is hosted on valheim plus mod page / github and run it from their own start script. |
The new version of V+ has a deprecated script that doesn't force executable, I'm still installing it but it looks like you can point it to the lgsm start.sh file |
I would also like it to be implemented in the lgsm script by default because it is a very good way to add mods |
Hi there ! I'm trying to do that too, to no avail, here's my progress so far, hope it helps ;)
lgs@games:~$ cd valheim/
lgs@games:~/valheim$ ll
total 68
drwxr-xr-x 5 lgs lgs 7 Feb 26 08:34 ./
drwxr-xr-x 12 lgs lgs 18 Feb 26 09:50 ../
drwxrwxr-x 8 lgs lgs 8 Feb 25 08:53 lgsm/
-rwxrwxr-x 1 lgs lgs 15934 Feb 25 08:53 linuxgsm.sh*
drwxrwxr-x 4 lgs lgs 5 Feb 26 10:24 log/
drwxrwxr-x 9 lgs lgs 23 Feb 26 10:49 serverfiles/
-rwxrwxr-x 1 lgs lgs 15936 Feb 25 08:53 vhserver*
lgs@games:~/valheim$ ll serverfiles/
total 64952
drwxrwxr-x 9 lgs lgs 23 Feb 26 10:49 ./
drwxr-xr-x 5 lgs lgs 7 Feb 26 08:34 ../
drwxrwxr-x 6 lgs lgs 6 Feb 26 10:49 BepInEx/
-rwxrwxr-x 1 lgs lgs 4728 Feb 25 08:54 LinuxPlayer_s.debug*
drwxrwxr-x 3 lgs lgs 3 Feb 25 08:53 Saved/
-rwxrwxr-x 1 lgs lgs 29484584 Feb 25 08:54 UnityPlayer.so*
-rwxrwxr-x 1 lgs lgs 7041000 Feb 25 08:54 UnityPlayer_s.debug*
-rwxrwxr-x 1 lgs lgs 131994 Feb 25 08:54 'Valheim Dedicated Server Manual.pdf'*
-rw-rw-r-- 1 lgs lgs 908 Feb 26 10:49 doorstop_config.ini
drwxrwxr-x 2 lgs lgs 6 Feb 26 10:49 doorstop_libs/
drwxrwxr-x 2 lgs lgs 3 Feb 25 08:54 linux64/
-rwxrwxr-x 1 lgs lgs 2 Feb 25 08:54 server_exit.drp*
-rw-rw-r-- 1 lgs lgs 1937 Feb 26 10:49 start_game_bepinex.sh
-rwxrwxr-x 1 lgs lgs 575 Feb 25 08:54 start_server.sh*
-rw-rw-r-- 1 lgs lgs 877 Feb 26 10:49 start_server_bepinex.sh
-rwxrwxr-x 1 lgs lgs 34 Feb 25 08:54 start_server_xterm.sh*
-rwxrwxr-x 1 lgs lgs 7 Feb 25 08:54 steam_appid.txt*
drwxrwxr-x 5 lgs lgs 7 Feb 25 08:54 steamapps/
-rwxrwxr-x 1 lgs lgs 29456421 Feb 25 08:54 steamclient.so*
drwxrwxr-x 2 lgs lgs 72 Feb 26 10:49 unstripped_corlib/
-rwxrwxr-x 1 lgs lgs 6344 Feb 25 08:54 valheim_server.x86_64*
drwxrwxr-x 6 lgs lgs 30 Feb 26 10:26 valheim_server_Data/
-rw-rw-r-- 1 lgs lgs 23040 Feb 26 10:49 winhttp.dll
lgs@games:~/valheim$ export DOORSTOP_ENABLE=TRUE
lgs@games:~/valheim$ export DOORSTOP_INVOKE_DLL_PATH=$HOME/valheim/serverfiles/BepInEx/core/BepInEx.Preloader.dll
lgs@games:~/valheim$ export DOORSTOP_CORLIB_OVERRIDE_PATH=$HOME/valheim/serverfiles/unstripped_corlib
lgs@games:~/valheim$ export LD_LIBRARY_PATH="$HOME/valheim/serverfiles/doorstop_libs:$LD_LIBRARY_PATH"
lgs@games:~/valheim$ export LD_PRELOAD="libdoorstop_x64.so:$LD_PRELOAD"
lgs@games:~/valheim$ export LD_LIBRARY_PATH="$HOME/valheim/serverfiles/linux64:$LD_LIBRARY_PATH"
lgs@games:~/valheim$ ./vhserver start
readlink: symbol lookup error: /home/lgs/valheim/serverfiles/doorstop_libs/libdoorstop_x64.so: undefined symbol: dlopen
dirname: symbol lookup error: /home/lgs/valheim/serverfiles/doorstop_libs/libdoorstop_x64.so: undefined symbol: dlopen
readlink: symbol lookup error: /home/lgs/valheim/serverfiles/doorstop_libs/libdoorstop_x64.so: undefined symbol: dlopen
basename: symbol lookup error: /home/lgs/valheim/serverfiles/doorstop_libs/libdoorstop_x64.so: undefined symbol: dlopen
cut: symbol lookup error: /home/lgs/valheim/serverfiles/doorstop_libs/libdoorstop_x64.so: undefined symbol: dlopen
whoami: symbol lookup error: /home/lgs/valheim/serverfiles/doorstop_libs/libdoorstop_x64.so: undefined symbol: dlopen
Failed to hook dlsym, ignoring it. Error: no such function: dlsym
mkdir: cannot create directory '/lgsm': Permission denied
fetching GitHub core_functions.sh...ERROR
Failed to hook dlsym, ignoring it. Error: no such function: dlsym
mkdir: cannot create directory '/lgsm': Permission denied
fetching Bitbucket core_functions.sh...FAIL
./vhserver: line 122: core_exit.sh: command not found
Failed to hook dlsym, ignoring it. Error: no such function: dlsym
mkdir: cannot create directory '/lgsm': Permission denied
./vhserver: line 378: fn_fetch_config: command not found
Failed to hook dlsym, ignoring it. Error: no such function: dlsym
mkdir: cannot create directory '/lgsm': Permission denied
copying _default.cfg...Failed to hook dlsym, ignoring it. Error: no such function: dlsym
cp: cannot stat '/lgsm/config-default/config-lgsm/vhserver/_default.cfg': No such file or directory
FAIL Let me know if any other info would be useful. Cheers, and thanks for LinuxGSM, it's awesome ! |
I can't test right now
|
Oooooh thanks a lot @dertexaner85, I wonder why I did not think about doing it this way !?
|
Indeed, the above solutions work, thank you! Just to clarify a possible error, since I don't know if that is valid or not but the script works without the
|
The Valheim Server is btw Steam App ID 896660 (https://steamdb.info/app/896660/) and not 892970 |
That AppID is correct, if you use 896660 the server will crash.
|
I have followed the steps as you said and I can't get it to have a normal file load. |
@paulvilla Here are the steps I took to get it to load and run correctly from a fresh install of LGSM:
Basically, the steps provided by @dertexaner85. |
@paulvilla |
so on centos 8 I had to do
|
Adding to what @dertexaner85 said: |
Where do you download UnixServer.zip? When I download the mod from https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/, I get the folder "denikson-BepInExPack_Valheim-5.4.701", but that doesn't contain any UnixServer.zip? |
@WonderingDane
1- that's not the latest version (It just updated) |
@WonderingDane I was referring to Valheim Plus which includes a copy of BepInEx (whether or not that is up to date I am not sure). |
I made now a inital integration for ValheimPlus, if anyone got a test server, feel free to test. |
how dose this work? and how do I integrate this now? there is only the LINUX GSm doc linked and I have never used Githup before this is not helping me saddly at all and I have the feeling that if this feature request will be closed this will never get added. |
I'm only a half baked user, but what I believe is going on here is they're asking for testers to manually grab the PR (Pull Request) and test it on a test server. I'd probably recommend following our instructions above, as it might be easier to do since you're only messing around with the game server files and one config file, the PR would have you mess with your LGSM install. I.E be patient, people are hard at work to make it happen, and look out for the feature request to close, due to being implemented. |
Ahh thank you so much. Yeah as someone how only kows a bit about programing and nothing else this was super confusing I just realized stack overflow was a thing 6 month ago.. still discovering everything. Thanks so much for clearig up that confusion ^^ |
A heads up to anyone finding there way here, and for @h3o66 with the pull request. It looks like one of the recent updates for V+ is parsing the arguments on the command line, so step 3 in those instructions actually doesn't run the arguments. Just skip step 3 entirely and the |
Anyone else getting the "incompatible version" after doing this? |
I am and i can't seem to figure out why. i tested it and it's still loading vanilla valheim. i've followed all the directions perfectly and on the main valheim plus site for unix servers. |
i just installed it on my server, followed @atipper steps and made it working (i think, cause it connects and prompts for password), but have incompatible version error :( |
update: my server is
could be the problem? |
i installed on server the nexusmods version of plus and it seems to work, i connect to server and it takes my plus data (i tried to set backpack weight to 500 in my client plus and i have 500 on server) i have also set this: ; This settings add a version control check to make sure that people that try to join your game or the server you try to join has V+ installed |
I can confirm this, I have found this from somewhere else but @Caffeinedesign beat me to it here :D |
NO NEVER DO THAT! this is a problem with the mod and not the game client, you guys should have read the FAQ and HOW TO INSTALL V+ because you need the same configurations what you basically did was giving your users the posibility to give themself admin rights on there server by editing the config files. Normaly you edit the config file and copy paste these to the client and BOOM the error message is gone cuz nobody cheats now. But this should not belong here this shoul dbelong in the valheim + discord or on the github to valheim + |
For now my server is private, and probably i'll use It only for friends, and... I have set It to false in client not in server 😅 |
Using the previous version of Seems they have changed the way the script parses options so adding $@ doesn't work the same way as before and the server isn't loading the mod correctly |
V+ moderators just merged my pull request so with their next push it will work transparently with lgsm (which I also use) without any modification needed from the lgsm side for start parameters. |
Can you please detail it here for the rest of us. |
Yes please link here, interested to see the details! |
link to PR: valheimPlus/ValheimPlus#378 |
Works perfectly. Thanks |
Can someone post a step-by-step summary of what to do as of now? Very much appreciated! |
Implemented these changes and tested it. So far so good. Thank you kindly! |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
User Story
I want the LinuxGSM script to be able to start the Unity Mod Container/Wrapper that one can use to add Mods to the server.
Link to the container:
// https://github.com/BepInEx/BepInEx //
Link to a mod that also integrates the correct version of the container
// https://github.com/nxPublic/ValheimPlus //
Basic info
Further Information
The above container is basically a standart tool to load mods into unity, this tool can be used to load a various amount of mods and integrate them into the binary via inject.
The binary loads the game server which is obviously not something linuxgsm would allow since GSM is a container in and on itself.
It would be amazing if that would be added since this would change a lot and would lift LinuxGSM apart from any free hoster and maybe more people would not only use LinuxGSM but would also learn to understand how linux works.
Further Reading
Link to the container:
// https://github.com/BepInEx/BepInEx //
Link to a mod that also integrates the correct version of the container
// https://github.com/nxPublic/ValheimPlus //
The text was updated successfully, but these errors were encountered: