View Full Version : Joebot binaries for metamod (linux)
Are there some binaries available somewhere so we can test this? I am assuming that one has to have HL SDK and that whole mess to compile Joebot under linux.
Just compiled last version from SourceForge CVS. Doesn't tested too much but it's working :)
I confirm, it works. I am also using adminmod. Good work!
@$3.1415rin
26-01-2004, 20:10
hey, that's cool ... should I link this thread in the news ???:(
i tried it on my server but got a badf error with metamod and amx.
i tried it on my server but got a badf error with metamod and amx. Hmm. Not enough info about crash.
Please :
1. Describe your configuration (post info about versions of metamod & AMX and Counter-Strike). Which type CPU you are using?
2. Copy&Paste message which you are getting when server crashes.
3. Go to the directory there is JoeBot library located and type command:
ldd joebot_mm_i586.so
Copy&paste output here.
Hope this information helps me to resolve your problem.
i have installed cs 1.5 with metamod 1,17 (the newest version from the realbot homepage) and amx 0.9.7 on an Celeron 990.
here is the amx output:
Loaded plugin 'FUN' successfully
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] AMX RUN - amx_mm_i386.so v0.9.7 ini ANY ANY
[ 2] RealBot RUN - realbot_mm_i386. v2093 ini Start ANY
[ 3] <joebot_mm_i586 badf load joebot_mm_i586.s v - ini - -
[ 4] Vexd Util. Modu RUN - VexdUM_mm_i386.s v0.2.0.7 cmd ANY ANY
[ 5] XtraFun RUN - xtrafun_mm_i386. v1.2 cmd ANY Pause
[ 6] CS STATS RUN - csstats_mm_i386. v0.9.7 cmd ANY ANY
[ 7] FUN RUN - fun_mm_i386.so v0.9.7 cmd ANY ANY
7 plugins, 6 running
and ldd joebot_mm_i586.so brings me this:
libstdc++.so.5 => not found
libdl.so.2 => /lib/libdl.so.2 (0x40181000)
libc.so.6 => /lib/libc.so.6 (0x40184000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
[skip]
and ldd joebot_mm_i586.so brings me this:
libstdc++.so.5 => not found
^^^^^^^^^^^^^^^^^^^
libdl.so.2 => /lib/libdl.so.2 (0x40181000)
libc.so.6 => /lib/libc.so.6 (0x40184000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
So, here is a problem - you have no library libstdc++.so.5 in your system. You need to install apropriate package (this build requires libstdc++3.2).
Onno Kreuzinger
03-02-2004, 14:29
Hi,
from my experience with realbot WIP, metamod and releases, i strongly advise you to get a different metamod for 1.5, try the one bundeled with the latest admin_mod bugfix release.
The badf error indicates either a messed up file (from using windows to make linux releases), or running a lower (2.2) glibc than the version compied on (2.3 not 3.2, that the compiler version ;)).
Cheers memed
@$3.1415rin and Artello
in the near future i will make a full linux realbot release, since joebot seems to compile well, i would be glad to also make a joebot linux release pack, just contact me and tell what you would want from a pack.
The badf error indicates either a messed up file (from using windows to make linux releases), or running a lower (2.2) glibc than the version compied on (2.3 not 3.2, that the compiler version ;)).
Lets search through www.gnu.org site :)
Memed, from my point of view,you've messed up to things, libstdc++ (http://gcc.gnu.org/libstdc++/) doesn't belong to glibc (http://www.gnu.org/directory/GNU/glibc.html). libstdc++ - C++ class library, and AFAIK it always has the same version as GCC has. Correct me if I'm wrong.
So, eAnic, needs to install correct class library...
Onno Kreuzinger
03-02-2004, 15:03
Lets search through www.gnu.org (http://www.gnu.org) site :)
Memed, from my point of view,you've messed up to things, libstdc++ (http://gcc.gnu.org/libstdc++/) doesn't belong to glibc (http://www.gnu.org/directory/GNU/glibc.html). libstdc++ - C++ class library, and AFAIK it always has the same version as GCC has. Correct me if I'm wrong.
So, eAnic, needs to install correct class library...
yep got me, i messed it up :D
but luck for eAnic, you can upgrade gcc "quite" easy, but you _can't_ upgrade libstc ;)
err please help me i'am confused now
what exactly do i need?
libstdc++ or glibc?
Cool , i do not run it,
very good news. (all bot MUST be metamod).
i m very happy to test a multibot server
without very complex config.
err please help me i'am confused now
what exactly do i need?
libstdc++ or glibc?
All that you need - just install libstdc++-3.2.
is there a chance to get a non .rpm version?
a google search only brings me libstdc++-3.2.2-5.i386.rpm
is there a chance to get a non .rpm version?
a google search only brings me libstdc++-3.2.2-5.i386.rpm That kind of Linux you are using? Debian? I'm strongly recommend you to use binaries from your Linux distro. Last distributions usualy comes with both versions of compillers, you'll need to check you CDs or vendor site.
i'am using SoL - http://www.sol-linux.com
i'am using SoL - http://www.sol-linux.com
Check this page http://update.sol-linux.com/ . Try to use SoLrus tool to retrieve latest gcc package.
SoLrus HOW-TO available at http://www.sol-linux.com/Content/Documentation/SoLrus
ok, i updated the gcc package to version 3.2.2 but the problem still exists.
Pierre-Marie Baty
07-02-2004, 16:24
I don't think updating GCC will solve the problem. You only need to install one library, which is libstdc++. There must be a package for it.
I don't think updating GCC will solve the problem. You only need to install one library, which is libstdc++. There must be a package for it.
Oops, there is no separate package for libstdc++ in SoL. This library comming in gcc package only ...
Hmm, in this case I can only recommend to eAnic to try compile JoeBot from sources...
I've compiled the metamod version myself without the need for this specific stdc++ library.
> ldd joebot_mm_i386.so
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40176000)
libdl.so.2 => /lib/tls/libdl.so.2 (0x4022e000)
libc.so.6 => /lib/tls/libc.so.6 (0x40231000)
libm.so.6 => /lib/tls/libm.so.6 (0x4036a000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4038d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
This version also brings me a badf error.
Btw. i tried to update the gcc package but got a error message. Shall i post the full text?
what output do you get by "ldd joebot_mm_i386.so"?
This version also brings me a badf error.
Btw. i tried to update the gcc package but got a error message. Shall i post the full text?
As I mentioned above - there is only one way, when you'll get 100% success -- you'll need to compile sources yourself!!! The problem that you are using specific specific Linux distribution and nobody knows which version of kernel, glibc, libstdc++ and others you are running :(
So, i'm sure that you already have gcc, just check that you have cvs. Grab JoeBot sources from SourceForge.net and download metamod sources. made a slight changes in makefiles and ... type Make.
Got more questions? Please ask ...
root@novisan: /eanic/hlds_l/cstrike/joebot: ldd joebot_mm_i386.so
libstdc++.so.5 => not found
libdl.so.2 => /lib/libdl.so.2 (0x40176000)
libc.so.6 => /lib/libc.so.6 (0x40179000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
root@novisan: /eanic/hlds_l/cstrike/joebot:
Do i really have to download any file in the cvs manually. Thats kinda annoying!
Onno Kreuzinger
10-02-2004, 19:16
no, you missed the explanation on how to "check software out with cvs", it is on the sf.net page
Do i really have to download any file in the cvs manually. Thats kinda annoying!
Of course you don't need to download files manualy :)
Just go to the directory there you a going to place sources and type:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/joebot login
and after
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/joebot co joebot
and you'll get joebot sources in few minutes
ok i downloaded the joebot and metamod sources and put them into my /home directory and modified the following lines in the Config.mk
JOEBOTDIR = /home/joebot/src
MMDIR = /home/metamod-1.17
after typing make i get this output:
make -C dlls
make[1]: Entering directory `/home/joebot/dlls'
gcc -I/home/joebot/src/engine -I/home/joebot/src/common -I/home/joebot/src/pm_shared -I/home/metamod-1.17/metamod -I/home/joebot/src/NNSim/som -I/home/joebot/src/NNSim -I/home/joebot/src/dlls -DUSE_METAMOD -O2 -march=i586 -O2 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 -c basemem.cpp -o obj.linux/basemem.o
In file included from basemem.h:24,
from basemem.cpp:21:
extdll.h:84: const.h: No such file or directory
extdll.h:85: progdefs.h: No such file or directory
extdll.h:86: edict.h: No such file or directory
extdll.h:89: eiface.h: No such file or directory
make[1]: *** [obj.linux/basemem.o] Error 1
make[1]: Leaving directory `/home/joebot/dlls'
make: *** [dlls/obj.linux/basemem.o] Error 2
sorry for my n00biness, but do you know whats wrong there?
ok i downloaded the joebot and metamod sources and put them into my /home directory and modified the following lines in the Config.mk
JOEBOTDIR = /home/joebot/src
MMDIR = /home/metamod-1.17
Guess that your JOEBOTDIR not correct.
For example, if you created a directory /home/joebot/src.
and typed cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/joebot co joebot from this directory, your JOEBOTDIR will looks like JOEBOTDIR = /home/joebot/src/joebot
oh my fault - i had to remove the /src dir behind the /joebot dir.
Now joebot_mm starts up but the server dies with a segmentation fault when i try to mix joebot with realbot.
I've noticed this too. I can't mix joebot with any other bot. A few weeks ago I successfully mixed HPB Bot and RealBot...
oh my fault - i had to remove the /src dir behind the /joebot dir.
Now joebot_mm starts up but the server dies with a segmentation fault when i try to mix joebot with realbot. Got Joebot running? Perfect. Has anyone tried Joebot with latest Steam update?
Yes, I've joebot running - with the problem described earlier in this thread...
Update:
This problem only exists on my second (test) server. I've installed them on my public server and they work excellent!
Drawbacks:
no autowaypointing (I love that feature of realbot)
outdated waypoints for some maps (e.g. de_aztec)
@$3.1415rin
11-02-2004, 18:24
automatic in game waypointing isnt possible with old joebot due to the wayfinding algorithm ... that's one of the main reason I restarted :D
Btw:
I've rewritten my AMX plugin for realbot to work with joebot 8)
For the first test I disabled the menu (this has to be redone completly) and only adapted the autofill function. It works much better with joebot than with realbot as AMX reports the correct number of players (with realbot sometimes users didn't get initialized and therefore not counted).
If anyone is interessted in this plugin...
Sure. Could you complie it and post it here?
I was to hasty, the same problem exists with joebot and AMX as with realbot and AMX...
Nevertheless I attach my unfinished AMX plugin for joebot.
CVars:
tn_bc_fillslots - fill the server up to this number with bots and kick a bot for each real player
Client commands:
amx_joebot - a client replacement command for the server command "joebot"
Configfile:
joebot_control.cfg - executed for each map, set tn_bc_fillslots here
I tried your plugin and noticed, that the bots leave/join continously, even when i remove the maxbots variable.
Did i make something wrong?
Take a look in your logfiles. There should be lines containing [TN-BC], mostly like "[TN-BC] number of taken slots: 10/10" (if tn_bc_fillslots is 10). If the numbers don't match bots are added or removed accordingly. If that is the case you will see lines like "[TN-BC] adding bot" and "[TN-BC] trying to remove a bot". This check is done every 10 seconds.
Maybe some other configuration options of joebot interfere with the plugin, here are some of my settings:
joinwhuman_max off
joinwhuman_res off
ah, now it works. But the joebot internal botchat interfears with the amx_botchat feature. This results in self entertaining bots :D
Onno Kreuzinger
12-02-2004, 17:38
*rofl*
i also saw that happen with realbot some times (one bot saying at level restart:enemy spotted. negaitve. positive. negative)
amx_botchat: - see here
http://djeyl.net/forum/index.php?showtopic=20622
this makes bots able to chat, to use votings, or special features ...
cool! I had something similar in mind for realbot as it lacks a buildin botchat :D
Do you have amx installed? Could you try to compile a plugin for me?
http://djeyl.net/forum/index.php?showtopic=15637&st=60
The source code on page 5 will not compile correctly on my amx because of loose indentitation errors.
Loose indention is normally a harmless warning which can (in this particular case) be ignored.
You can get rid of it if you simply remove all indentions :-)
Anyway, I've compiled the plugin, but I didn't test it...
ah now it works. My compiled plugin always crashed my HL dedicated server. Thank you very much!
It's awfull... (sorry for my bad english... cause I'm french :( ) I can't customize...
The mm module runs good... but ... no possibilities to read config files.
- All the files are in /hlds_l/cstrike/joebot
- The joebot_mm_i386.so is in /hlds_l/cstrike/joebot too....
- The plugins.ini of mm contain the good line :
linux joebot/joebot_mm_i386.so ... sound good, bicause I can see a "JoeBOT" killing the users ! :D
But.. I can't customize his name, his skill.. etc...
Where did I put theses ~#{[#{[ config files ? Any idea of a tree that can convince to my server ? (Mandrake 9.2)
Well.. back to watch TV with a beer.. I'm lamer ;)
Thanks for your help ! :)
Onno Kreuzinger
02-03-2004, 19:25
hmm i'm no lamer i hope, but me too likes to have some (any) info on how to set up a server in terms of what goes where ...
@$3.1415rin
02-03-2004, 21:21
config files belong to cstrike/joebot as far as I know ... like bot_names.cfg bot.cfg bot_skill.cfg botbuyweapons.cfg spray.txt ... but the old linux installation contains a folder structure, so I dont see where the problem is. so normal install of that, and then install it metamod like
whoa, I should really release that stuff, but there is still a bug in the names class ... last weekend on a seminar for a scholarship, that weekend before fever ... argh
install JoeBOT 1.6.1 Linux Full Version (http://prdownloads.sourceforge.net/joebot/joebot161_linux.tar.gz?download)
put the joebot_mm_i586.so (http://forums.bots-united.com/attachment.php?attachmentid=47) file from this thread and put it into the hlds/cstrike/joebot folder. Or If you have a debian system try the one I've compiled (http://forums.bots-united.com/attachment.php?attachmentid=55).
add "linux ../joebot/joebot_mm_i586.so JoeBot" into your metamod's plugins.ini file
restart the engine
The Goomba Mattress
06-03-2004, 22:00
Any chance someone could compile the JoeBot MetaMod binary as a .dll for Windows?
dstodalka
07-03-2004, 06:02
Here is the error i get:
[ 1] STATSME RUN - sm_cstrike_mm_i3 v2.8.0.1 ini Chlvl Chlvl
[ 5] Adminmod open - admin_MM_i386.so v2.50.59 ini Start Start
[ 6] <amx_mm_i386.so badf load amx_mm_i386.so v - ini - -
[ 7] <xtrafun_ms_i38 badf load xtrafun_ms_i386. v - ini - -
[ 8] <joebot_mm_i586 badf load joebot_mm_i586.s v - ini -
In my mm plugins.ini the line for joebot that I have is :
linux hlds_l/cstrike/joebot/joebot_mm_i586.so
I put joebot_mm_i586.so into hlds_l/cstrike/joebot. What am I doing wrong? Am i forgeting something? Or just wrong plugins.ini line?
ok first:
Why do you need adminmod, if you have amx?
next:
what cs and metamod version do you have?
can you post the output of 'ldd amx_mm_i386.so' ?
dstodalka
07-03-2004, 06:21
I dont use adminmod thats just an error. I only use amx dont worry. I have amxmod 0.9.7 and mm i dont know how to find out. I didnt put it on the company did. But ill keep looking. And i dont know wut u mean by the last question.
dstodalka
07-03-2004, 06:22
sorry cs 1.6
go into the directory where the amx executeable is installed and type
ldd amx_mm_i386.so
you forgot to post the metamod version
dstodalka
07-03-2004, 06:33
Where am i supposed to type that. I use an ftp program and i typed it in hlsw but nothing happened. I told you i dont know metamod version. Does 1.17 sound right?
oh you mentioned this already? hmm, it seems like i have to go to bed. :)
yes version 1.17 sounds right.
the command is meant to be typed into the linux shell?
do you have full access to your linux server?
dstodalka
07-03-2004, 06:41
No i dont have shell. Its against the companys policies. For security reasons or something.
i'm sorry, but i think i cannot help you in this case.
Onno Kreuzinger
07-03-2004, 13:14
ok, theses are the problems i assumed, your enviroment in not using the same c libraries and the .so files might be compiled using differend gcc compilers. thats a pitty, since it's quite painfull to find that out.
so how was the joebot binary compiled, which glibc and gcc where used ?
At first: CHECK THE PATHS OF ALL FILES
You got at least one thing wrong in the plugins.ini:
linux hlds_l/cstrike/joebot/joebot_mm_i586.so
This has to be (at least)
linux joebot/joebot_mm_i586.so
as the paths are relative to the cstrike directory!
A few posts ago I described the installation of the joebot MM plugin. Please read it CAREFULLY and fix all paths, youu got most of them wrong!
vBulletin® v3.7.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.