Let's talk plug-ins

Questions, comments, and news on the server side plug-ins and it's API
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Let's talk plug-ins

Post by I_Died_Once »

Here's a quasi-announcement for ya... I recently realized how easy doing CVS is. I said something, and RPG asked me to beta test his race to seven plugin. While upgrading today and trying to figure out how to get it to work, I noticed a folder in the CVS source named plugins. I look in and there is a nice assortment of plugins already there.... kinda. I look around and get a hunch. First, I did as told and did my linking and got the racetoseven plug in to work.

woot. I know how to get a plug in to work... in theory anyway. (I'll give a detailed how to later)

so theres all these folders and I can only imagine the possibilities after seeing some of their names and seeing the plugin folder content...


airspawn
doc
newplug.sh
SAMPLE_PLUGIN
vocaliser
api_notes
fixedspawn
playHistoryTracker
scorereset
chathistory
hiddenAdmin
python
shockwaveDeath
CVS
killall
RogueGenocide
vc713


oooohhh air spawn! RogueGenocide? score reset? kill all?

I'm more interested in airspawn.... I'm thinking its a plug in that'll make you spawn in the air, perhaps? I look in that folder, and there is a couple of files, a makefile, but no .so file like the racetoseven. I'm thinking "well dammit" and it dawns on me... I get my terminal and i cd to the airspawn folder in the CVS source and I run make. and I'll be damned if I didn't make me an .so file.

I link it like I did the racetoseven plug in and I'll be damned. You spawn at varying heights in the air. No more than seven or so units high up, but still. Thats pretty cool.

So needless to say, I ran make on everything, and here is a list of plugins I have:


racetoseven.so
killall.so
playHistoryTracker.so
chathistory.so
fixedspawn.so
scorereset.so
airspawn.so
RogueGenocide.so
shockwavedeath.so
vocaliser.so


woot!

Now it would be a lie if I sat here and told you guys that I knew what each and every one of them do. I do know what some of them do though. Here's what little break down I can give you so far among the "new" plugins...

airspawn
You spawn in the air. If you have spawn on buildings turned on on your server, then you'll still spawn on buildings too.... this plugin only makes you spawn anywhere from 1 to 8 (or so) units above where ever you would normally spawn

shockwavedeath
This makes a shockwave occur when a tank dies. Its a world weapon, so the deaths by this SW does not go to any player, and it gives the "killed by server" message. Nasty plugin. If you kill anyone, do it from afar. This turns players with BU into a rolling land mine. Nasty. I believe the SW generated by death is the same size as the weapon SW's size is set to. I could be wrong, as it appears a bit bigger than normal SW. This plugin might could be further configureable.

scorereset
/scorereset
To run this (and a couple of others) you have to be logged in as admin. Whats so special about this is being admin via a groups file is not enough - you have to enter the /password and log in as admin manually with the server password to run this. And amazingly enough - it resets scores. Not all scores - it does not reset the score of the person who ran the command. This could get cheezy with someone who has a positive score resets everyone else's and has that much more of an advantage in score. Like, if my score is 25 and yours is 23, I can reset everyone but me's score to 0. (When I discovered this, I was at -12 )

killall
/killall
You have to be admin via the server password like the scorereset plugin...

...this one doesn't work. That or I am doing something wrong. When you run it as admin, it says "Darth Vader has killed everyone on the server" (or some such to that effect) but nothing happened. I assume everyone dies and I get a (boat)load of points; or just everyone but me, (or everyone on all opposing teams maybe?) dies.

RogueGenocide
Not completely tested. Now that I am reading its readme while posting this, I see that what I did in testing is not supposed to work. It is supposed to make genocide act on rogues the same way geno works on a regular team's tank. I had geno and hit a team mate, only he died. I assumed it didnt work. Now I see that it has to be from a non-rogue tank for it to work. So I need to see that one in action for my confirmation.

The rest I have no idea about.

I keep getting segmentation faults. I'm not sure if its the plugins or the CVS version. I will say that I am running all plugins on Planet MoFo for the time being. Now, I know there are a couple of other Planet MoFo like servers ont he list, so to differentiate them, when you see *Loaded* at the end of Planet MoFo on the list, that'll be the one running the lastest (within 48 hours at least) CVS version and some (if not all) available plugins. There's yor announcement.

I will not mention the plugins in the admsg or the srvmsg 'cause all it'll do is confuse people.

A-Delusion and I agree - plugins are the future of bzfs. Well, maybe not, 'cause I don't see any of the "big" servers doing anything this innovative.

Feel free to come and check out the plugins.

woot
...This has been a recording.
User avatar
Tropican8
Private First Class
Private First Class
Posts: 312
Joined: Fri Mar 18, 2005 11:51 pm
Location: As close to the grove as you can get

Post by Tropican8 »

Thanks for posting that Darth. I had no idea what some of those plugins did. Will 2.0.4 have plugin documentation?
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Post by JeffM »

glad you like them. Plugins can take paramaters. you put a ,SOME_PARAMATERS after the plugin name when you load em.

Notes.

airspawn
you can pass in ,SOME_NUMBER when you load the plugin, and that will set the max height, I belive it defualts to 0 to 10 units.

shockwavedeath
you can pass in ,usevictim for the paramater and it will make the SW come from the person who died. THis mode is posibly untested and buggy.

scorereset
Yeah, it dosn't get all the scores for some lame reason, it's a known bug and being worked on.

killall
the lamest one of the bunch. mostly thrown together to see what it would do. It dosn't work at all. It may be removed, or it may just be kept as a test/sample. We will find out why it dosn't work tho.

RogueGenocide
Yeah, it's basicly geno for rouges. If you hit a rouge tank with geno.. BAM, all rouges get blowed up. This was for grumber, don't know how much testing he has done. If you find any problems with it, please let us know.


The /password thing is just a stopgap, we needed some way to make them work only for some users. They will be modified to work with groups and permsions soon ( it's next on my list to do, allong with custom perms ).

Yes there will be a readme for the plugins when they are done. No CVS does NOT have binarys for them for any OS. just like the game when you get source, you have to build em. For windows we will be packaging premade windows binarys of select sample plugins. I asume the other binary distros will do the same when we are done. Plug-ins are somewhat still in development, we are still working on them, and adding to the API all the time, so things may change.


just so you know what the other ones do...

chathistory
this one is for admins too, it will show you the last N chat lines for a player, no mater WHO they were to. it loads a /last command that does, Usage: /last <NUMBER OF LINES> <CALLSIGN>
so /last 20 yourmomma will give you the last 20 things yourmomma said. usefull for cops and stuff. It will be tied to a custom perm soon.

fixedspawn
a special plugin that installs a custom map object handaler. Basicly it lets you put in hardcoded spawn points into the map. I made this for the BSP converter. don't know if it will get used much. spawn zones are simiar but a little more "soft" here when you specify the postion, BAM you get that position.


hiddenadmin
a cheap way to hide admins, it dosn't use a group, so group snoopers can't get around the perm based one.

SAMPLE_PLUGIN
dosn't do a darn thing, only used as a template for new plugins.

python
potentaly the coolest of all plugins. This one is a plugin that loads other plugins, ones writen in python. While it's not complete, and probably won't be for release, this could basicly let people use python as a scripting language ( no compiler, no .so, just a text file ) to make plugins. It's just got a LONG way to go.
ImageJeffM
User avatar
^nightmare^
Private First Class
Private First Class
Posts: 1264
Joined: Sun Feb 20, 2005 7:14 pm
Location: Alabama
Contact:

Post by ^nightmare^ »

so you just type the path to bzflag then "-[name of plugin]" ?
Need bzflag help? Try looking here: http://www.freewebs.com/bznightmare/map ... aghelp.htm
User avatar
RPG
Lieutenant, Junior Grade
Lieutenant, Junior Grade
Posts: 2015
Joined: Fri Sep 17, 2004 2:37 am
Location: Chicago, Illinois
Contact:

Post by RPG »

no, you type

Code: Select all

bzfs -loadplugin racetoseven -loadplugin airspawn,3
etc...
Last edited by RPG on Tue Aug 16, 2005 3:15 pm, edited 1 time in total.
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

All I can and will vouch for how to do it is on Linux.

You can put this in your .conf file, or give it as an arguement when running bzfs


-loadplugin /path/to/plugin.so


It has to be an .so file. I cd to the folder for the plugin and ran "make" and left the files there, as some of the plugins created .o files as well as the .so and I left them there just in case it was linked somehow, despite the reace to seven plugin working independantly from any other files.

The terminal you launch the server in will tell you the plugin is loaded. Then to "execute" it you give whatever command the plugin provaides, if any. Its quite simple.

This must be done, however, with a CVS version of bzfs. The current stable release does nto saupport plugins.
...This has been a recording.
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Post by JeffM »

RPG
you are incoret, the paramater for the plugin can NOT have a space, so in your example it would be

Code: Select all

-loadplugin airspawn,6
you MUST use the comma (,)

I_Died_Once
techincaly you don't need the ".so" part, we'll tack that on automaticly. On windows it's a .dll that is also tacked on automaticly. this lets the same configs run both OSs.

you can also load them at runtime using the /loadplugin command. it takes the same paramters.
ImageJeffM
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

Well, Jeff, according to what you posted, I am lead to believe that I can take a plugin, place it in some far reaching, obscure folder... start bzfs without any loadplugin command... and when I type in game /loadplugin pluginname it'll load.

I haven't found that to be the case.

But I do know that the command

-loadplugin /path/to/plugin.so

Does in fact work. It links bzfs to the plugin file you want to use. Then, to execute it (if applicable) give the server whatever /command it provides.

I do not believe the plugins can be turned off in game. Plugins like the shockwave-death world weapon are always on if loaded, and it is my belief that plugins like this can only be loaded at execution of the server. Only plugins with a specific quit command, like the racetoseven plugin can be stopped. Even then, its not truly turned off. You just end a match - the plugin is still loaded and ready to be executed.

#######

I may be different, but when I do CVS of bzflag, I download the source and compile in the same folder on top of older files. When I upgraded to day's CVS version this morning, I found it did not like the plugins I created yesterday, so I had to "make" the plugins over. Not a big deal.

airspawn in set to 50, so you can spawn anywhere from 1 to 50 units above your intended spawn spot.

vocaliser - while it did not work yesterday, my terminal when launching bzfs says it is working now. So, whatever it does, I don't know. But its there. Loaded.

This morning, I got a couple of people to test out the ROgueGenocide plugin, and I hate to report it does not work. I was on the red team, had three rogues on the server, I had geno and hit one of the rogues, and it did not kill the whole team. We tried this a couple of times to no avail.

All available plugins are currently running along with today's CVS version of bzfs (except the racetoseven plugin - thats a CTF plugin, and MoFo is running in Free For All right now)
...This has been a recording.
Guest

Post by Guest »

I_Died_Once wrote:Well, Jeff, according to what you posted, I am lead to believe that I can take a plugin, place it in some far reaching, obscure folder... start bzfs without any loadplugin command... and when I type in game /loadplugin pluginname it'll load.

I haven't found that to be the case.

But I do know that the command

-loadplugin /path/to/plugin.so

Does in fact work. It links bzfs to the plugin file you want to use. Then, to execute it (if applicable) give the server whatever /command it provides.
:roll:
Try
/loadplugin /path/to/plugin.so then... :wink:
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Post by JeffM »

hmm rouge geno I think is only when rougges kill rouges, I don't think it was made for when a real team kills a rouge, I'll have to fix that.

my inital point was you don't need the .so part. just the path and the name

the /loadplugin and /unloadplugin should work ( in cvs, they had some bugs a week or so ago ). you can unload any plugin at run time, the /loadplugn works just like -loadplugin, so it will need the same path. unload just needs the name. Of course they may have bugs so please report them. The intent is to have them work when ever.

vocaliser is "special" it may not be a release one. It basicly lets you send sounds to clients and play them.
ImageJeffM
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

Neither scenario works, I tried them both this morning.

Red team shoots one rogue with geno, nothing out of the ordinary

Rogue with geno shoots another rogue... no other rogues affected.

Looks to me like it does not work as of today's CVS.
...This has been a recording.
User avatar
DTRemenak
General
General
Posts: 625
Joined: Thu Jan 16, 2003 4:54 am
Location: U.S.
Contact:

Re: Let's talk plug-ins

Post by DTRemenak »

I_Died_Once wrote:I keep getting segmentation faults. I'm not sure if its the plugins or the CVS version. I will say that I am running all plugins on Planet MoFo for the time being.
When a CVS version crashes, backtraces are very helpful.

First look for a corefile. Usually they're dumped in whatever directory you ran the bzfs command from (probably your home directory). Should be named "bzfs.core". If you can't find a corefile and you're running linux, run "ulimit -a".[Note 1] If "core file size" is 0 then run "ulimit -c 100000", which will tell it it can use up to 100mb (assuming 1k blocks) for corefiles, then restart bzfs. Wait for it to crash again and when it does:

Assuming you have gdb installed, and bzfs crashes and dumps a corefile, do "gdb --core=bzfs.core". When you get the "gdb>" prompt enter "file /path/to/bzfs", wait for it to load the symbols, then enter "bt". It should spew about ten or a dozen lines starting with "#0" through "#n", that's the backtrace.[Note 2] If you can post the backtrace or send it to any of the devs we can try to nail down your crash. Don't send the corefile itself to anyone...since you build your own binaries only your computer can make any sense of them.

BTW: same instructions go for anyone else experiencing crashes on unix-like platforms. I should probably post it somewhere more visible.

Note 1: Other systems and some strange linux distros will use "limit" instead of "ulimit", and the syntax of "limit" may vary (use the manpage)
Note 2: Use "quit" at the "gdb>" prompt to exit gdb.
Last edited by DTRemenak on Tue Aug 16, 2005 8:28 pm, edited 1 time in total.
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Post by JeffM »

I_Died_Once
yeah RG was busted, I just fixed it all up, once dev CVS updates to anon CVS it shoudl work better for you.
ImageJeffM
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

DT - I will look into that this evening once I get home from work. I'll be sure to post any and all information I can to help "the cause"

Jeff - Not that you guys are experiencing any shortness of willing helpers, but if you got a plugin you (or anyone else) wants tested, I'll be more than happy to load the plugin, test it, and post whatever data is needed. Just email me or PM it to me, or post it in the "super secret Planet MoFo forums
...This has been a recording.
User avatar
optic delusion
Special Forces
Special Forces
Posts: 1054
Joined: Sat Sep 25, 2004 2:29 pm
Location: Planet MoFo
Contact:

Server Crash Plugin Interaction Spotted.

Post by optic delusion »

Here I am on a Rampage, six straight laser kills.
I kill a seventh, but he's close enough to get me with shockwavedeath.
The server is just about to say "A-Delusion's Rampage was stopped by World Weapon" but it doesn't, because the server has just crashed.
Take a look at my Defender game mode concept.

Thinking is not an automatic process. A man can choose to think or to let his mind stagnate, or he can choose actively to turn against his intelligence, to evade his knowledge, to subvert his reason. If he refuses to think, he courts disaster: he cannot with impunity reject his means of perceiving reality.
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

OK - here is info from the terminal

Code: Select all

Player wes [3] uread() 68.155.201.72:3875 len 31 from 68.155.201.72:3875 on 4
Segmentation fault (core dumped)
I tried all that gdb stuff (I can only imagine what GDB could stand for) and it tells me my core is not executable. I tried chmod and right clicking and changing permissions as best I could and it stil told me it was not executable.

Now, when it dumper a core, thats just it. It did not dump a bzfs.core, it just dumped a core. Named: core. I tried to open it in gdb...

Code: Select all

death@linux:~> gdb --core=/home/death/core
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux".
Core was generated by `./bzfs -conf FFA.conf'.
Program terminated with signal 11, Segmentation fault.
#0  0x08086a87 in ?? ()
(gdb) 

So I did the /path/to/bzfs and here is the result

Code: Select all

death@linux:~> gdb --core=/home/death/core
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux".
Core was generated by `./bzfs -conf FFA.conf'.
Program terminated with signal 11, Segmentation fault.
#0  0x08086a87 in ?? ()
(gdb) file /home/death/bzflag/bin/bzfs
Reading symbols from /home/death/bzflag/bin/bzfs...done.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb)      
Thats exactly the same thing as above but with a couple lines at the bottom added.

For completeness sake - in my home folder, I have links to the bzfs binary and links to the .conf files Entering

Code: Select all

./bzfs -conf FFA.conf
launches the Free For All game.

I entered bt and got this

Code: Select all

(gdb) bt
#0  bzApiString::c_str (this=0x4) at basic_string.h:716
#1  0x080d34bd in WorldEventManager::callEvents (this=0x8177234,
    eventType=bz_ePlayerDieEvent, eventData=0xbfffe230) at stl_vector.h:501
#2  0x080ed154 in playerKilled (victimIndex=3, killerIndex=253, reason=1,
    shotIndex=80, flagType=0x818d940, phydrv=-1, respawnOnBase=false)
    at bzfs.cxx:2261
#3  0x080ee2a3 in handleCommand (t=3, rawbuf=0x81c09f4, udp=Variable "udp" is not available.
) at bzfs.cxx:262
#4  0x080f5b0d in handleTcp (netPlayer=@0x81c09b0, i=3, e=ReadAll)
    at bzfs.cxx:3653
#5  0x080b6773 in GameKeeper::Player::handleTcpPacket (this=0x81c0740,
    set=0xbfffef80) at GameKeeper.cxx:309
#6  0x080f2ac5 in main (argc=3, argv=0xbffff1a4) at bzfs.cxx:4798
(gdb)     
...and there ya go.

I'm running Suse Linux 9.2 on this machine. Its a DELL Dimension 8100, with one of the early pentium 4's, and I believe 128 megs of ram. Nothing spectacular, just an old clunker that still runs code.

If the developers or anyone else needs to know anything, I dare you to ask.
...This has been a recording.
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

On todays CVS version & RogueGenocide plugin - it still does not work when geno is fired from another rogue or from a tank on a team.

It does, however, trigger off the applause it gives you when your team has captured a flag... If you are a rogue, and your team mate gets hit with geno... it doesnt kill everyone, but it does rigger that sound for the other rogues that did NOT get hit with geno.

Interesting.
...This has been a recording.
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Post by JeffM »

I_Died_Once
RG dosn't trigger any sounds, I think you have more then one plugin in there.

Play history tracker does the sounds, and it's busted.

RG works, I tested it ( tho only with an assload of bots ).

ScoreReset has some huge problems and should not be used, it will cause crashes. There is also the fact that it won't work with out a client side change.
ImageJeffM
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

OK, that explains it then.

I'm running virtually all available plugins, except for the racetoseven (it dont work with the API)

I even got the janitor one going.

...but the RogueGenocide plugin that came in today's (this mornings?) CVS still doesn't work. I dare you to post or send me the .so file for it, or the other files so I can run "make" on it. I think this is a most innovative and interesting plugin, and I'd love to see it work in action.
...This has been a recording.
User avatar
DTRemenak
General
General
Posts: 625
Joined: Thu Jan 16, 2003 4:54 am
Location: U.S.
Contact:

Post by DTRemenak »

I believe the bug which triggered that crash was fixed in CVS last night.

Thanks for the backtrace, btw, that was exactly what I wanted :) Makes it much easier to track down crashes. I'm amused that it just dumped a file named "core", but hey, whatever. Same darn thing. However, I will have to look up how to get symbols out of the plugins, 'cause it looks like the trace is missing a function call which should be in ShockwaveDeath (probably).

Update to latest CVS, and if you get another crash, well, now you know how to post the backtrace ;)
User avatar
optic delusion
Special Forces
Special Forces
Posts: 1054
Joined: Sat Sep 25, 2004 2:29 pm
Location: Planet MoFo
Contact:

Rampage still crashing.

Post by optic delusion »

Last night, I reported that KillingSpree crashed Vader's server when a rampage was ended by the world weapon shockwavedeath.
Something must have been done about it because, today, in the same situation, I saw "Joe's rampage was ended by unknown", the server didnt crash.

Just now a rampage was ended by another player, the shockwavedeath plugin was not loaded, and it crashed the server. It reported that the rampage was ended, then everybody went NR. It worked just fine for twenty minutes before that.
Last night it disconnected all at once. Without reporting the rampage end.

This is probably meaningless, but I noticed each time it was just after the rampaging player's seventh kill.

Vader's not around right now to do a full report.
Take a look at my Defender game mode concept.

Thinking is not an automatic process. A man can choose to think or to let his mind stagnate, or he can choose actively to turn against his intelligence, to evade his knowledge, to subvert his reason. If he refuses to think, he courts disaster: he cannot with impunity reject his means of perceiving reality.
User avatar
I_Died_Once
Special Forces
Special Forces
Posts: 635
Joined: Sun Nov 28, 2004 5:27 pm
Location: The Dark Side
Contact:

Post by I_Died_Once »

Code: Select all

layer BIYA [5] uread() 4.248.239.86:1939 len 31 from 4.248.239.86:1939 on 4
Player JD1 [3] uread() 24.159.84.185:2177 len 9 from 24.159.84.185:2177 on 4
Player knightskillerq [6] uread() 63.13.251.84:37630 len 31 from 63.13.251.84:37630 on 4
Player JD1 [3] uread() 24.159.84.185:2177 len 31 from 24.159.84.185:2177 on 4
Player JD1 [3] uread() 24.159.84.185:2177 len 31 from 24.159.84.185:2177 on 4
Segmentation fault (core dumped)
death@linux:~> gdb --core=/home/death/core
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux".
Core was generated by `./bzfs -conf FFA.conf'.
Program terminated with signal 11, Segmentation fault.
#0  0x403f5116 in ?? ()
(gdb) file /home/death/bzflag/bin/bzfs
Reading symbols from /home/death/bzflag/bin/bzfs...done.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) bt
#0  0x403f5116 in ?? ()
#1  0x08173d73 in __gthread_active_p()::__gthread_active_ptr ()
#2  0x082012d0 in ?? ()
#3  0xbfffe1a0 in ?? ()
#4  0x00000002 in ?? ()
#5  0xbfffe1a0 in ?? ()
#6  0xbfffe0e8 in ?? ()
#7  0x080d35ad in WorldEventManager::callEvents (this=0x10,
    eventType=bz_eAllowSpawn, eventData=0x4) at stl_vector.h:501
Previous frame inner to this frame (corrupt stack?)
(gdb)  
Yep. Like Delusion said - the server crashed. Core was dumped... thats the output.

Need I remind everyone that I was running todays CVS (8-17-05)
a bunch of plugins, and in free for all mode. .conf file available upon request.

The plugins loaded were:

Code: Select all

Plugin:/home/death/bzflag/plugins/racetoseven.so found but expects an older APIversion (9), upgrade it
WARNING: unable to load the plugin; /home/death/bzflag/plugins/racetoseven.so
killall plugin loaded
Plugin:/home/death/bzflag/plugins/killall/killall.so loaded
PlayHistoryTracker plugin loaded
Plugin:/home/death/bzflag/plugins/playHistoryTracker/playHistoryTracker.so loaded
ChatEvents plugin loaded
Plugin:/home/death/bzflag/plugins/chathistory/chathistory.so loaded
fixedspawn plugin loaded
Plugin:/home/death/bzflag/plugins/fixedspawn/fixedspawn.so loaded
ScoreReset plugin loaded
Plugin:/home/death/bzflag/plugins/scorereset/scorereset.so loaded
airspawn plugin loaded
Plugin:/home/death/bzflag/plugins/airspawn/airspawn.so loaded
rogueGenocide plugin loaded
Plugin:/home/death/bzflag/plugins/RogueGenocide/RogueGenocide.so loaded
killall plugin loaded
Plugin:/home/death/bzflag/plugins/vocaliser/vocaliser.so loaded
Janitor v0.6 By Meacan (Aka Dennis Moellegaard Pedersen)
Janitor: Registering /page
Janitor: Registering /page1
Janitor: Registering /page2
Janitor: Registering /page3
Janitor: Registering /page4
Janitor: Registering /page5
Janitor: Registering /whine
Janitor: Registering /fortune
Janitor: Registering /janitor
Janitor: Registering /page6
Janitor: Registering /page7
Janitor: Registering /whoami
Plugin:/home/death/bzflag/plugins/Janitor/Janitor.so loaded
...and there ya go.
...This has been a recording.
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Post by JeffM »

don't use score reset. it has horible crashing bugs. At present I am even doubting the ability to have a "set score" function, as the client is too stupid to know that it just got it's own score set.

fixed spawn won't do anything for you, your map dosn't have any fixed spawn locations.
ImageJeffM
User avatar
optic delusion
Special Forces
Special Forces
Posts: 1054
Joined: Sat Sep 25, 2004 2:29 pm
Location: Planet MoFo
Contact:

shockwave death no longer crashing

Post by optic delusion »

Alot of players don't like shockwavedeath, especially when it's set to 80.
So this afternoon I drop shockOUTradius to 40, not realizing (not thinking) that shockINradius is 70.
Making outradius smaller than inradius effectively turned the plugin off.
ShockWaveDeath operates very nicely with a shockOutRadius of 25, and a tankExplosionSize of 50. It's not even noticable, until your inside the radius when a player dies.

The "rampage ended by worldweapon" fix has been running all day without incident. it says "rampage ended by unknown" Did you get that from "The Good, The Bad, And The Ugly"?

One minor detail, when a rampage continues after 30 kills, the syntax of the message is wrong. take the apostrophe-s off of the player's name or something.
Take a look at my Defender game mode concept.

Thinking is not an automatic process. A man can choose to think or to let his mind stagnate, or he can choose actively to turn against his intelligence, to evade his knowledge, to subvert his reason. If he refuses to think, he courts disaster: he cannot with impunity reject his means of perceiving reality.
User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5196
Joined: Fri Dec 13, 2002 4:11 am

Post by JeffM »

the rampage code needs a revamp, I don't think it works verry well
ImageJeffM
Post Reply