tmp64 / BugfixedHL-Rebased

Bugfixed and improved Half-Life
GNU General Public License v3.0
108 stars 22 forks source link

Unable to load hl.so on linux server (8684) #176

Open J6ey opened 10 months ago

J6ey commented 10 months ago

Here's my hlds_run version:

Protocol version 48
Exe version 1.1.2.2/Stdio (valve)
Exe build: 19:52:19 Aug  3 2020 (8684)

When I use the hl.so from BugfixedHL-1.9.1-server I just get this error message:

File /home/xxxx/hlds/./valve/liblist.gam was never closed
File /home/xxxx/hlds/./valve/liblist.gam was never closed
Missing shutdown function for Sys_InitAuthentication() : Sys_ShutdownAuthentication()
Missing shutdown function for Host_Init( &host_parms ) : Host_Shutdown()
Missing shutdown function for Sys_InitLauncherInterface() : Sys_ShutdownLauncherInterface()
Missing shutdown function for Sys_InitMemory() : Sys_ShutdownMemory()
Missing shutdown function for Sys_Init() : Sys_Shutdown()
Missing shutdown function for FileSystem_Init(basedir, (void *)filesystemFactory) : FileSystem_Shutdown()
Missing shutdown function for Sys_InitArgv( m_OrigCmd ) : Sys_ShutdownArgv()

There's nothing wrong my liblist.gam setup; I'm able to run the stock hl.so just fine. But here is how it looks:

// Valve Game Info file
//  These are key/value pairs.  Certain mods will use different settings.
//
game "Half-Life"
startmap "c0a0"
trainmap "t0a0"
mpentity "info_player_deathmatch"
//gamedll "addons\metamod\dlls\metamod.dll"
gamedll_linux "addons/metamod/dlls/metamod.so"
//gamedll_osx "dlls/hl.dylib"
secure "1"
type "singleplayer_only"

Is this a known issue with linux server? Any help would be appreciated.

RizoBoy commented 8 months ago

Has the same problem, even on 8308 version. Does anyone have a solution?

andreiseverin commented 8 months ago

@J6ey @RizoBoy

I do recommend you this metamod : https://www.amxmodx.org/release/metamod-1.21.1-am.zip and Use this on linux:


//  These are key/value pairs.  Certain mods will use different settings.
//
game "Half-Life"
startmap "c0a0"
trainmap "t0a0"
mpentity "info_player_deathmatch"
//gamedll "dlls\hl.dll"
//gamedll_linux "dlls/hl.so"
//gamedll_osx "dlls/hl.dylib"
secure "1"
type "singleplayer_only"
animated_title "1"
hd_background "1"
gamedll_linux "addons/metamod/dlls/metamod.so"
tmp64 commented 8 months ago

Please, follow this installation guide to install 32-bit libraries. BHL requires Ubuntu 18.04 or newer for release builds and Ubuntu 20.04 or newer for development builds from GitHub Actions.

This is the launch script that I use during development:

#!/bin/bash
export LD_LIBRARY_PATH=.
./hlds_linux -game -valve +log on +localinfo mm_gamedll dlls/hl.so +sv_lan 1 +maxplayers 32 +map crossfire $@

-dev +log on enables error logging. +localinfo mm_gamedll dlls/hl.so forces Metamod-p to load the game (due to some bug, it doesn't detect hl.so as a valid ELF file so you need to specify the path explicitly).

RizoBoy commented 8 months ago

@tmp64 thanks, everything works now.

@J6ey you also need to remove libstdc++.so.6 and libgcc_s.so.1 from server root as stated in this forum https://forums.alliedmods.net/showthread.php?t=336183 And don't forget to add +maxplayers 32 to launch script or you might get segmentation fault.