borzh / botrix

Source code for Half-Life 2: Deathmatch bots.
37 stars 14 forks source link

Bots for Dedicated Server not Work (Linux undefined symbol: HushAsserts) #5

Closed RocKs-Painkiller closed 4 years ago

RocKs-Painkiller commented 4 years ago

Hello borzh,

I installed the bots according to your installation instructions.

Unfortunately they don't work for me under Linux. A friend checked it for windows and told me the same.

Greeting Pain

borzh commented 4 years ago

There are many users that use Botrix without any issues. What problems do you have? Did you extracted it in hl2dm folder? Did you added -console -insecure parameters? I can't help you if you don't provide me details.

RocKs-Painkiller commented 4 years ago

I unzipped it in the HL2mp folder and have a dedicated server.

According to your instructions, I don't need the console command.

RocKs-Painkiller commented 4 years ago

If you want you can go directly to the server and watch it on my site?

I could give you login.

borzh commented 4 years ago

when you execute "plugin_load addons/botrix", what it tell's you?

RocKs-Painkiller commented 4 years ago

09:11:43 plugin_load addons/botrix 09:11:44 plugin_load : cannot load a plugin while running a map

borzh commented 4 years ago

Right, it can't load the plugin while running a map. But it should show something why the plugin isn't loaded at the start time. Can you pass me all the text that dedicated server prints at the start?

RocKs-Painkiller commented 4 years ago

No, the file is to big.

RocKs-Painkiller commented 4 years ago

wrote me on steam please i can send login for FTP.

borzh commented 4 years ago

cool, but you could remove log file and restart the server anyway wrote to you on steam

borzh commented 4 years ago

Ok, I managed to login to your server and can see that botrix.so is not loaded because of undefined symbol: HushAsserts. This is a symbol from the libtier0.so library.

So, I downloaded the file bin/libtier0.so from your server and run command nm -C -A bin/libtier0.so | grep HushAsserts to check if there is a HushAsserts symbol there. Your library has no such symbol.

Then I downloaded official steamcmd for Linux to install HL2DM dedicated server on my computer. I tried the same command on my version of bin/libtier0.so and it does have that symbol / function.

So, I replaced libtier0.so in your server by uploading it and now Botrix plugin works fine. Not sure though why your server is not using the official's version of the file. I also suspect that you will need to upload official's libtier0.so each time you use "Install/Update via Steam".

I will leave here a copy of tier0.so for just in case and close this ticket: tier0.so.zip

RocKs-Painkiller commented 4 years ago

With DM it works great. With TDM the server crashes.

A question about the auto waypoints.

Is it possible to execute this command at server start which automatically gets waypoints from maps which are not in the list ?

I can tell you now why it does not work with the old files. The old files cause that you can have more than 16 player on the map. Could you try to find a solution so I can use the old files and your bots?

This plugin works through the old libtier0.so, libvstdlib.so which allows you to have more than 20 players on the map:

https://github.com/FoG-Plugins/Player-Limit-Remover

borzh commented 4 years ago

About auto-waypoints, auto-waypoint generation is on by default. But this is only for map without waypoints. You can use any botrix command inside of configuration file (I believe it's config.cfg or something alike). Now, about the other part, the old libraries, to make Botrix work with older libraries, I would need to recompile / rebuild Botrix against that old code of libraries, but unfortunately I don't have that old libraries source code...

borzh commented 4 years ago

On the second thought, I checked for history of mathlib.a (which is the library that uses Botrix that uses libtier0.so) and there was 2015 update. I downloaded the older 2013 version of the file and recompiled Botrix against it. Looks like it worked, so attaching here zipped botrix.so: botrix.zip

RocKs-Painkiller commented 4 years ago

Yes, it works. Thanks a lot, mate.

I would like to invite you to a round HL2DM on my server.

borzh commented 4 years ago

You're welcome! Sure, let me know on Steam chat!