IRC/Bzflag Relay Plugin v 0.85

Expand and mod your server.
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

IRC/Bzflag Relay Plugin v 0.85

Post by wegstar »

Author: wegstar

Description: It acts as a mediator between bzflag and IRC, where it links bzflag conversations on a server with IRC chatter. The plugin joins as an IRC bot and sits in a channel, passing every PRIVMSG in IRC on to the bzflag server and every bzflag message onto the channel. This makes it easier for server owners to watch what people are saying on their server and comment from IRC. Another way it can be used is for people on IRC who want to chat with bzflag players, and are too lazy, or cannot start their client and join in for various reasons ;) . Join and Part events in bzflag are also displayed on IRC.
In IRC, the callsigns of the players who speak are shown with color that reflect their team color.

Min Version: dunno.. it was only tested on 2.0.4

Files: Windows dll with config only, still trying to find time to port it to *nix, and the source will be released as soon as I clean it up :? .
Relay.zip contains config.txt and Relay.dll

config.txt is where you can config the irc server it goes to and the channel it joins, and also the bot's nick.



have fun.
-- Maybe this plugin could branch off into another one that allows someone to admin their server from IRC... hmm... or even add an option to enable or disable it from bzflag.



EDIT:
v 0.80 - 10/2/05

Changes:
* made the bot not display bzflag list server "pings"
* made the bot not show "bzadminping"
* removed a lib that was linked in, but was unnecessary

EDIT:
v 0.81 - 10/2/05

Changes:
* fixed a color mess-up

Other:
* "un-uglifying" the code.. it will be released soon


EDIT:
v 0.82 - 10/06/05

Changes:
* Source code for *nix released - nothing much changed, just pthread and *nix sockets
* win32 source code for VC++ released

Other:
* Ported the code to *nix: Find a way to compile it yourself :P, compiled, but not tested on Debian, with a simple: "g++ -shared -o Relay.so Relay.cpp bzfs.lib", it should vary on other platforms... :?
* support for multiple irc channels?

EDIT:
v 0.83 - 10/20/05
Changes:
* add checking for return of NULL for that pointer...

EDIT:
v 0.85 - 4/23/06
Changes:
* It has been a long time since I touched bzflag. I have just compiled the plugin with new library that comes with 2.0.6. Nothing else is changed.
* TO USERS WHO HAVE BEEN REPORTING PROBLEMS:
1. don't change the line on which the text is on. i.e. 127.0.0.1 used to be on line 7, now it's on line 8 (leave it on line 7). Just simply change the text, don't add or take out anything else
2. The IRC server line in the config takes in IP address only, not urls. (use something like 216.165.191.52 not irc.freenode.net)

get it below
Attachments
Relay-0.85.zip
windows source, dll, and config.. READ CHANGES
(17.32 KiB) Downloaded 727 times
Relay-0.85.tar.gz
*nix source, config, makefile, Relay.so
(12.58 KiB) Downloaded 832 times
Last edited by wegstar on Sun May 14, 2006 10:25 pm, edited 15 times in total.
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
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 »

Very cool Wegstar. Any chance for the same thing with other chat protocols once you clean things up in the code?
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 »

Tropican8
Other chat protocols? That'd be like 20x times the work it took to make the IRC protocol :).
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

not really, actually, if I find some sort of document that talks about how the protocol works, I could get it to work there...
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
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 »

Here's a list of some common protocols:

http://gaim.sourceforge.net/protocol.php
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

*nix source updated (It works now), VC++ source is also released.
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
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 »

When I ran make

Code: Select all

death@linux:~/bzflag/plugins/Relay> make
g++ -shared -o Relay.so Relay.cpp
Relay.cpp:5:21: bzfsAPI.h: No such file or directory
Relay.cpp:18: error: syntax error before `::' token
Relay.cpp:25: error: syntax error before `{' token
Relay.cpp:28: error: destructors must be member functions
Relay.cpp:28: error: virtual outside class declaration
Relay.cpp:30: error: `bz_EventData' was not declared in this scope
Relay.cpp:30: error: `eventData' was not declared in this scope
Relay.cpp:30: error: virtual outside class declaration
Relay.cpp:30: error: variable or field `process' declared void
Relay.cpp:32: error: virtual outside class declaration
Relay.cpp:36: error: syntax error before `}' token
Relay.cpp:37: error: 'RelayHandler' is used as a type, but is not defined as a
   type.
Relay.cpp:39: error: syntax error before `int'
Relay.cpp:43: error: `bz_eChatMessageEvent' was not declared in this scope
Relay.cpp:43: error: `relay' was not declared in this scope
Relay.cpp:43: error: ISO C++ forbids declaration of `bz_registerEvent' with no
   type
Relay.cpp:43: error: initializer list being treated as compound expression
Relay.cpp:44: error: `bz_ePlayerJoinEvent' was not declared in this scope
Relay.cpp:44: error: `relay' was not declared in this scope
Relay.cpp:44: error: ISO C++ forbids declaration of `bz_registerEvent' with no
   type
Relay.cpp:44: error: redefinition of `int bz_registerEvent'
Relay.cpp:43: error: `int bz_registerEvent' previously defined here
Relay.cpp:44: error: initializer list being treated as compound expression
Relay.cpp:45: error: `bz_ePlayerPartEvent' was not declared in this scope
Relay.cpp:45: error: `relay' was not declared in this scope
Relay.cpp:45: error: ISO C++ forbids declaration of `bz_registerEvent' with no
   type
Relay.cpp:45: error: redefinition of `int bz_registerEvent'
Relay.cpp:44: error: `int bz_registerEvent' previously defined here
Relay.cpp:45: error: initializer list being treated as compound expression
Relay.cpp:47: error: syntax error before `return'
Relay.cpp:50: error: syntax error before `int'
Relay.cpp:54: error: `bz_eChatMessageEvent' was not declared in this scope
Relay.cpp:54: error: `relay' was not declared in this scope
Relay.cpp:54: error: ISO C++ forbids declaration of `bz_removeEvent' with no
   type
Relay.cpp:54: error: initializer list being treated as compound expression
Relay.cpp:55: error: `bz_ePlayerJoinEvent' was not declared in this scope
Relay.cpp:55: error: `relay' was not declared in this scope
Relay.cpp:55: error: ISO C++ forbids declaration of `bz_removeEvent' with no
   type
Relay.cpp:55: error: redefinition of `int bz_removeEvent'
Relay.cpp:54: error: `int bz_removeEvent' previously defined here
Relay.cpp:55: error: initializer list being treated as compound expression
Relay.cpp:56: error: `bz_ePlayerPartEvent' was not declared in this scope
Relay.cpp:56: error: `relay' was not declared in this scope
Relay.cpp:56: error: ISO C++ forbids declaration of `bz_removeEvent' with no
   type
Relay.cpp:56: error: redefinition of `int bz_removeEvent'
Relay.cpp:55: error: `int bz_removeEvent' previously defined here
Relay.cpp:56: error: initializer list being treated as compound expression
Relay.cpp:58: error: syntax error before `return'
Relay.cpp:61: error: invalid use of undefined type `class RelayHandler'
Relay.cpp:24: error: forward declaration of `class RelayHandler'
Relay.cpp: In constructor `RelayHandler::RelayHandler()':
Relay.cpp:77: error: `nick' undeclared (first use this function)
Relay.cpp:77: error: (Each undeclared identifier is reported only once for each
   function it appears in.)
Relay.cpp:88: error: `bz_debugMessage' undeclared (first use this function)
Relay.cpp: At global scope:
Relay.cpp:119: error: invalid use of undefined type `class RelayHandler'
Relay.cpp:24: error: forward declaration of `class RelayHandler'
Relay.cpp:122: error: `bz_EventData' was not declared in this scope
Relay.cpp:122: error: `eventData' was not declared in this scope
Relay.cpp:123: error: invalid use of undefined type `class RelayHandler'
Relay.cpp:24: error: forward declaration of `class RelayHandler'
Relay.cpp:123: error: invalid declarator
Relay.cpp:123: error: syntax error before `{' token
Relay.cpp:131: error: syntax error before `*' token
Relay.cpp:133: error: `chat' was not declared in this scope
Relay.cpp:134: error: `speaker' was not declared in this scope
Relay.cpp:135: error: `speaker' was not declared in this scope
Relay.cpp:138: error: syntax error before `if'
Relay.cpp:162: error: `subtotal' was not declared in this scope
Relay.cpp:163: error: ISO C++ forbids declaration of `write' with no type
Relay.cpp:163: error: `int write' redeclared as different kind of symbol
/usr/include/unistd.h:318: error: previous declaration of `ssize_t write(int,
   const void*, unsigned int)'
Relay.cpp:163: error: initializer list being treated as compound expression
Relay.cpp:164: error: ISO C++ forbids declaration of `bz_debugMessage' with no
   type
Relay.cpp:164: error: `int bz_debugMessage' used prior to declaration
Relay.cpp:164: error: initializer list being treated as compound expression
Relay.cpp:164: error: invalid conversion from `const char*' to `int'
Relay.cpp:165: error: syntax error before `break'
Relay.cpp:174: error: syntax error before `*' token
Relay.cpp:176: error: `joiner' was not declared in this scope
Relay.cpp:177: error: `joiner' was not declared in this scope
Relay.cpp:178: error: redefinition of `int team'
Relay.cpp:135: error: `int team' previously defined here
Relay.cpp:178: error: `joiner' was not declared in this scope
Relay.cpp:179: error: redefinition of `std::string colorcode'
Relay.cpp:136: error: `std::string colorcode' previously declared here
Relay.cpp:182: error: syntax error before `if'
Relay.cpp:184: error: ISO C++ forbids declaration of `player_team' with no type
Relay.cpp:184: error: conflicting types for `int player_team'
Relay.cpp:180: error: previous declaration as `std::string player_team'
Relay.cpp:185: error: syntax error before `}' token
Relay.cpp:188: error: ISO C++ forbids declaration of `player_team' with no type
Relay.cpp:188: error: redefinition of `int player_team'
Relay.cpp:184: error: `int player_team' previously defined here
Relay.cpp:188: error: invalid conversion from `const char*' to `int'
Relay.cpp:189: error: syntax error before `}' token
Relay.cpp:192: error: ISO C++ forbids declaration of `player_team' with no type
Relay.cpp:192: error: redefinition of `int player_team'
Relay.cpp:188: error: `int player_team' previously defined here
Relay.cpp:192: error: invalid conversion from `const char*' to `int'
Relay.cpp:193: error: syntax error before `}' token
Relay.cpp:196: error: ISO C++ forbids declaration of `player_team' with no type
Relay.cpp:196: error: redefinition of `int player_team'
Relay.cpp:192: error: `int player_team' previously defined here
Relay.cpp:196: error: invalid conversion from `const char*' to `int'
Relay.cpp:197: error: syntax error before `}' token
Relay.cpp:200: error: ISO C++ forbids declaration of `player_team' with no type
Relay.cpp:200: error: redefinition of `int player_team'
Relay.cpp:196: error: `int player_team' previously defined here
Relay.cpp:200: error: invalid conversion from `const char*' to `int'
Relay.cpp:201: error: syntax error before `}' token
Relay.cpp:204: error: ISO C++ forbids declaration of `player_team' with no type
Relay.cpp:204: error: redefinition of `int player_team'
Relay.cpp:200: error: `int player_team' previously defined here
Relay.cpp:204: error: invalid conversion from `const char*' to `int'
Relay.cpp:205: error: syntax error before `}' token
Relay.cpp:208: error: ISO C++ forbids declaration of `player_team' with no type
Relay.cpp:208: error: redefinition of `int player_team'
Relay.cpp:204: error: `int player_team' previously defined here
Relay.cpp:208: error: invalid conversion from `const char*' to `int'
Relay.cpp:209: error: syntax error before `}' token
Relay.cpp:220: error: redefinition of `std::string total'
Relay.cpp:162: error: `std::string total' previously declared here
Relay.cpp:220: error: `subtotal' was not declared in this scope
Relay.cpp:221: error: ISO C++ forbids declaration of `write' with no type
Relay.cpp:221: error: redefinition of `int write'
Relay.cpp:163: error: `int write' previously declared here
Relay.cpp:221: error: initializer list being treated as compound expression
Relay.cpp:222: error: ISO C++ forbids declaration of `bz_debugMessage' with no
   type
Relay.cpp:222: error: redefinition of `int bz_debugMessage'
Relay.cpp:164: error: `int bz_debugMessage' previously declared here
Relay.cpp:222: error: initializer list being treated as compound expression
Relay.cpp:222: error: invalid conversion from `const char*' to `int'
Relay.cpp:223: error: syntax error before `break'
Relay.cpp:232: error: redefinition of `std::string callsign'
Relay.cpp:176: error: `std::string callsign' previously declared here
Relay.cpp:232: error: `part' was not declared in this scope
Relay.cpp:233: error: redefinition of `int team'
Relay.cpp:178: error: `int team' previously defined here
Relay.cpp:233: error: `part' was not declared in this scope
Relay.cpp:234: error: redefinition of `std::string colorcode'
Relay.cpp:179: error: `std::string colorcode' previously declared here
Relay.cpp:236: error: syntax error before `if'
Relay.cpp:262: error: redefinition of `std::string total'
Relay.cpp:220: error: `std::string total' previously declared here
Relay.cpp:262: error: `subtotal' was not declared in this scope
Relay.cpp:263: error: ISO C++ forbids declaration of `write' with no type
Relay.cpp:263: error: redefinition of `int write'
Relay.cpp:221: error: `int write' previously declared here
Relay.cpp:263: error: initializer list being treated as compound expression
Relay.cpp:264: error: ISO C++ forbids declaration of `bz_debugMessage' with no
   type
Relay.cpp:264: error: redefinition of `int bz_debugMessage'
Relay.cpp:222: error: `int bz_debugMessage' previously declared here
Relay.cpp:264: error: initializer list being treated as compound expression
Relay.cpp:264: error: invalid conversion from `const char*' to `int'
Relay.cpp:265: error: syntax error before `break'
Relay.cpp: In function `void* respondPing(void*)':
Relay.cpp:295: error: `BZ_SERVER' undeclared (first use this function)
Relay.cpp:295: error: `BZ_ALLUSERS' undeclared (first use this function)
Relay.cpp:295: error: `bz_sendTextMessage' undeclared (first use this function)
Relay.cpp:304: error: `write' cannot be used as a function
make: *** [Relay.so] Error 1
death@linux:~/bzflag/plugins/Relay> 
...This has been a recording.
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

umm....

Code: Select all

Relay.cpp:5:21: bzfsAPI.h: No such file or directory 
and the rest... I guess the compiler got confused after the initial problems...
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
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 »

I can totally see this plugin... I can COMPLETELY see this plugin making all the devs and the well to do people in the bzflag chat rooms mighty angry with people imposing a server's conversation on everyone in a room...

...you MUST clean up this code and get a working linux .so made.

What if - say a handful of servers used this plugin, and all placed their respective bots in the same room on the same IRC server, like BZChat on freenode, for example - could we all "talk" to each other across the servers? Like a cross-server conferance call?
...This has been a recording.
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

I can totally see this plugin... I can COMPLETELY see this plugin making all the devs and the well to do people in the bzflag chat rooms mighty angry with people imposing a server's conversation on everyone in a room...
- That's what I am afraid of....

...you MUST clean up this code and get a working linux .so made.
- Kinda hard if you are working over VNC... with an old bzfs that does not load plugins.
What if - say a handful of servers used this plugin, and all placed their respective bots in the same room on the same IRC server, like BZChat on freenode, for example - could we all "talk" to each other across the servers? Like a cross-server conferance call?
- sure.. that works. brad2901 and I did just that.. except the problem was that the special characters for IRC coloring showed up on BZflag as well... and that was not good...
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

Added a .so compiled on Debian.. try that.. I guess..
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
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 »

I tried the .so you posted, and I got this

Code: Select all

Plugin:/home/death/bzflag/plugins/Relay/Relay.so not found, error libstdc++.so.6: cannot open shared object file: No such file or directory
WARNING: unable to load the plugin; /home/death/bzflag/plugins/Relay/Relay.so
So tell me, am I doing something wrong here or what?
...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 »

OK, I figured it out. The line where it calls for bzfsAPI.h - line 5 of the Relay.cpp file - you have bzfsAPI.h in quotes...

If you change it to </path/to/bzflag/include/bzfsAPI.h> with the < and >'s, and the path to your bzflag source then /include/bzfsAPI.h it should compile. Like, for me on one of my machines, its

</home/death/bzflag/include/bzfsAPI.h>

woot

I'll do the testing and post comments later
...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 »

Even though that made it compile....

Corrupt stack.

I cant get the plugin to load. It crashes at load time. a backtrace tells me it is a corrupt stack. This is both by itself and with all my other plugins. Same results.
...This has been a recording.
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

If you change it to </path/to/bzflag/include/bzfsAPI.h> with the < and >'s, and the path to your bzflag source then /include/bzfsAPI.h it should compile. Like, for me on one of my machines, its

</home/death/bzflag/include/bzfsAPI.h>
- well... yeah, I had copied bzfsAPI.h to the same directory as the plugin code, so that is why my header is set up that way.
This is both by itself and with all my other plugins. Same results.
- so this is not specific to my plugin, right?
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
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 »

Yes, it is specific to your plugin. All the other ones work. Your plugin by itself STILL crashes.

Copying the bzfsAPI.h file into the relay folder (and changing back the code) still did not work...

I'm on Suse, if it helps
...This has been a recording.
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 »

wegstar
Tip: ALWAYS check pointers to make sure they're not NULL before you use them. Here's the official warning:
Plugin Docs wrote:BZF_API bool bz_getPlayerByIndex ( int index, bz_PlayerRecord *playerRecord );

This function will take a player index, and will return a new player data object in the playerRecord paramater. WARNING: this function CAN and WILL return NULL in certain situations. Always check for NULL before dereferencing the result of this function, otherwise your plugin may crash the server. The player data class contains the following data:
That was the single reason RacetoSeven was crashing 24/7. After I implemented checking, I've gotten zero crash reports.
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

Copying the bzfsAPI.h file into the relay folder (and changing back the code) still did not work...
- of course it won't change anything ;) I'm just telling you why my headers looked that way.

RPG: Got it, thanks :)
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
maneater

wont work

Post by maneater »

I took the dll file loaded it into bzfs i had my irc srever running but the bot named "IRC" didnt appear, i even re-compiled the source but that didnt work a little help here plz :cry:
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

maybe the config got messed up.. make sure that you did not change (i.e. add, remove) lines, just change the text... it's a crude config system.
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
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 »

Very sad

This plugin has potential. Unfortuneately, it was written on windows, for windows, by a windows user. wegstar told me I was on my own as far as getting a working plugin goes, as there are no longer any plans to update it, and any errors I get are my own fault.

Any of you code guru's wish to take the NesTea challenge and take a gander and share to us why this plugin wont work, and what I would have to do to make it work?

Has anyone successfully got this plugin to compile AND work? What server uses this plugin?
...This has been a recording.
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 »

I_Died_Once wrote:Very sad

This plugin has potential. Unfortuneately, it was written on windows, for windows, by a windows user. wegstar told me I was on my own as far as getting a working plugin goes, as there are no longer any plans to update it, and any errors I get are my own fault.

Any of you code guru's wish to take the NesTea challenge and take a gander and share to us why this plugin wont work, and what I would have to do to make it work?

Has anyone successfully got this plugin to compile AND work? What server uses this plugin?
Brad got the plugin to work, and we were having fun with it on #masterbot. So it DOES work, however that was about a month ago.
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

there are no longer any plans to update it
- of course there will be.. I'm just very busy at the moment...
Unfortuneately, it was written on windows, for windows, by a windows user.
- not exactly... the *nix source compiled fine on debian... I can't do much above that, as I don't have a linux comp...

Really, it is extremely simple code, the only platform specific thing about it is the sockets, which in windows it uses the win32 api of winsock2, while in the *nix version it uses Linux sockets.
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Post by wegstar »

I have compiled the plugin with the new 2.0.6 bzfs.lib... Linux users.. hang on, i'll try to get a compiled one, or you can try compiling it yourself; it is basically the same code. Read the comments in the first post if you are having trouble getting it running. Try getting a new config and starting from there if you really think your problem lies inside the config.

Good Luck.
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
User avatar
wegstar
Private First Class
Private First Class
Posts: 127
Joined: Sun Dec 26, 2004 4:33 am
Location: Good ol' California
Contact:

Linux (finally)

Post by wegstar »

brad2901 successfully compiled and tested out my plugin on Linux, in Debian. He initially reported a problem of the the plugin segfaulting and crashing the server. After a few minutes of testing, we discovered that the plugin crashed when starting threads. I instantly realized that pthread was needed to be linked to plugin. So I have updated the makefile and added the binary brad2901 compiled on Debian. Linux users- try it out...
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
Post Reply