Hackebein / docker-garrysmod

Dockerfiles for Garry's Mod
https://hub.docker.com/r/hackebein/garrysmod/
28 stars 2 forks source link

Support for betas, especially x86-64 #10

Open BitCrack opened 4 years ago

BitCrack commented 4 years ago

MySQLOO, a popular module for connecting to MySQL and MariaDB databases from a Garry's Mod server recently dropped support for x86 systems due to lack of x86 builds of MySQL 8. This module might not work with the default x86 and allowing betas and especially x86-64 could fix possible problems.

Hackebein commented 4 years ago

It's documented here.

You can start the container for example like docker run --rm -it -e "APPS=4020 -beta x86-64,232330" hackebein/garrysmod to get the x86-64 branch.

let me know if this is working for you.

BitCrack commented 4 years ago

It's documented here.

You can start the container with docker run --rm -it -e "APPS=4020 -beta x86-64,232330" hackebein/garrysmod to get the x86-64 branch.

let me know if this is working for you.

Doing what you said turned this out

************** WARNING ***************
Running the dedicated server as root  
is highly discouraged. It is generally
unnecessary to use root privileges to 
execute the dedicated server.         
**************************************

Auto detecting CPUntinue to launch in 1 secondss
Using default binary: ./srcds_linux
Server will auto-restart if there is a crash.
Using Breakpad minidump system. Version: 0 AppID: 4000
Setting breakpad minidump AppID = 4000
Using breakpad crash handler
Loaded 692 VPK file hashes from /opt/steam/garrysmod/garrysmod.vpk for pure server operation.
Loaded 692 VPK file hashes from /opt/steam/garrysmod/garrysmod.vpk for pure server operation.
Loaded 1219 VPK file hashes from /opt/steam/sourceengine/hl2_textures.vpk for pure server operation.
Loaded 574 VPK file hashes from /opt/steam/sourceengine/hl2_sound_vo_english.vpk for pure server operation.
Loaded 382 VPK file hashes from /opt/steam/sourceengine/hl2_sound_misc.vpk for pure server operation.
Loaded 434 VPK file hashes from /opt/steam/sourceengine/hl2_misc.vpk for pure server operation.
Loaded 5 VPK file hashes from /opt/steam/platform/platform_misc.vpk for pure server operation.
Segmentation fault (core dumped)
Add "-debug" to the ./srcds_run command line to generate a debug.log to help with solving this problem
Wed Jul 15 02:37:59 UTC 2020: Server restart in 10 seconds

After installing GDB on the container and adding -debug as an additional parameter it lead me to this error cat: hlds.XXXXX.pid: No such file or directory along with this site https://forums.alliedmods.net/showthread.php?t=300118 , but the solution there didn't work.

I also made a custom Dockerfile with a custom entrypoint and changed all srcds_run to srcds_run_x64 and built it, then ran it with an already existing server and everything was fine, but the server froze right before the addons were supposed to load I guess.

Hackebein commented 4 years ago

I tested it and it works for me. I just updated the image to fix a bug ~1 hour ago. Did you use the new one?

Can you send the complete log?

BitCrack commented 4 years ago

I tested it and it works for me. I just updated the image to fix a bug ~1 hour ago. Did you use the new one?

Can you send the complete log?

Installing the beta using cm2network/steamcmd works for both scripts, but output of lua_run print(jit.os, jit.arch) depends on which script has been used, Linux x86 when using srcds_run and Linux x64 when using srcds_run_x64.

After pulling the latest image and using it, the error above is gone and server is starting normally, but like I said, the "game's" architecture is still x86, due to it using the srcds_run and not srcds_run_x64 script.

Hackebein commented 4 years ago

You can change the binary file with SRCDSBIN="srcds_run_x64". I'll add steam repository support via docker image tags soon.