[Plugin] [rel] guircon
#1

  • What is it?
    GUIRCON is basically an entire new rcon protocol built on top of the server. The current system is very basic, and although custom commands can be handled in scripts, you cannot send any data back to the rcon client that sent it. The protocol is also inefficient, having to send the password with every command due to connections only being temporary, and it can be confusing for people wanting to develop the protocol.
    GUIRCON does not use any part of the original system whatsoever. It consists of a server plugin, which creates its own TCP sockets to accept connections and interpreted information, a pawn script to call functions related to the system, and there is also a basic Win32 dialog application to enable visual and user-friendly server control.
    The 'netcode' has been massively simplified compared to the original. It uses a similar syntax to the IRC protocol, in that it's simply a command, and any parameters, such as "MSG [text]". This makes development of the protocol very easy, and means you can modify it to suit your needs without having to worry about confusing packet structures.
  • How does it work
    As mentioned before, the most important part is the plugin. This opens up sockets in your server, which will accept connections from any client wishing to connect. It also handles the information regarding players, messages and events to send to users connected. By calling the send function from your script, you can send any data you want to connected GUIRCON clients.
    The script also handles callbacks, so you can interpret and respond to any commands the GUIRCON clients send. This means you can add your own commands onto the ones already implemented, to extend the functions to whatever required.
    The included client is used to send information to the server, such as commands to kick, ban, or get player information. The client also interprets responses from the server, and can add this information to the chatbox.
  • Other Information
    Please note, I would consider this to be a 'beta' version, simply because I've not had the capacity to test it neither on linux (though it does compile, a makefile and compiled .so is available), nor on a populated server in a normal environment. Basic tests with me or another user have highlighted bugs which have been fixed, but I would still recommend you test it yourself before firing it up on a 100 player server.
    I ask that any problems that do occur, you let me know of. I'll continue to improve and fix this until I'm satisfied, and it can confidently be used in well populated servers.

    The client included is, as said, very basic. I plan on extending both client and plugin, to include more advanced features. A 2D gamemap with player blips and information is on the cards for very soon, for example.
Reply
#2

this is fabolous! nice work man
Reply
#3

I try to load this on my server and this is the error i get!

Server Plugins
[13:25] --------------
[13:25] Loading plugin: GUIRconPlugin/Plugin/release/plugin.dll
[13:25] Failed (plugins/GUIRconPlugin/Plugin/release/plugin.dll: invalid ELF header)
[13:25] Loaded 0 plugins.

WTF!?
Reply
#4

Hmm, the compiled dll should load fine.

Can you paste the plugins line from your server.cfg, it could be to do with that
Reply
#5

plugins GUIRconPlugin/Plugin/release/plugin.dll
Reply
#6

Quote:

Loading plugin: GUIRconPlugin/Plugin/release/plugin.dll
GUIRCON Server Plugin... loaded
Loaded.
Loaded 1 plugins.

With the same plugins line as you said. I don't understand.. what version of windows are you running?
Reply
#7

Oh im such a fool, hoster has linux, dont work with linux?
Reply
#8

It should work with linux, instead of plugin.dll, use guircon.so

However I haven't been able to test a server with it running, so any feedback would be appreciated
Reply
#9

Ah good man, thanks for that, ill give you a reply in a few mins with feedback

Ok plugin loaded on server and then i tried to connect and Error Connecting To Server
Reply
#10

Hmm that error comes up when the socket can't make a connection, usually if the IP address or port is wrong.
Make sure the guircon.pwn filterscript is loaded (you'll have to compile it first), and the default port is 8888. The IP will be the same as you use to connect to your server to play.
Reply
#11

[14:34] Loading filter script 'guircon.amx'...
[14:34] Unable to load filter script 'guircon.amx'.
Reply
#12

Quote:
Originally Posted by JaTochNietDan
plugins GUIRconPlugin/Plugin/release/plugin.dll
LOOOL! You shoul put plugin.dll in folder named plugins and write in cfg:
Код:
plugins plugin.dll
Reply
#13

When I compile, I get lots of errors:

Is it normal?
Reply
#14

no we fixed that problem already read my other comment
Reply
#15

Quote:
Originally Posted by JaTochNietDan
[14:34] Loading filter script 'guircon.amx'...
[14:34] Unable to load filter script 'guircon.amx'.
That should only be if the file isnt found. Check you have filterscripts/guircon.amx
If not you'll have to recompile the pwn file (remember to put it in server_dir/filterscripts/). You'll probably get warnings when you compile it but it should still compile fine.
Reply
#16

OK, assuming you're on Windows (looks like you are), at the top of main.h and xpthreads.h, put

#define _WINDOWS
#define WIN32

It looks like they haven't been defined, although they should've
Reply
#17

There is a problem, writes " Error Connecting To Server ".

Install this plugin on Linux server, has made all under the instruction:
1. Has taken already compiled guircon.so, it was loaded into system normally.
2. Has compiled original guircon.amx, nothing changed, was loaded normally.

But somehow still does not want to connect to the server.
Suggest what could be the problem?
Reply
#18

I have the same problem on windows server.
Reply
#19

OK, I've made a couple of changes to sockethandler.cpp and main.cpp to include some basic error messages on calling GUIRCON_Activate

If you can compile the new source and run it, then see if anything comes up.
Reply
#20

Nice Work Static you bet me to it
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)