[Release] Chivalry RCON Tool



  • Chivalry RCON tool 1.0

    Features:

    • Multiple Server Administration

    • Kick,With reason

    • Ban (temporary/Permanent), With reason

    • Realtime chat (With say and Say Big (When TBS implements that it should work)

    • Map list and change

    • Plugin System

    Released Plugins

    • Reserved Slots, never get stuck outside your own server again.

    • Chat Logger, Saves everything said on your server.

    • Announcer, Send messages on a timer, like your clan TS server, or a paypal (Not completely finished yet, the welcome message still don`t work).

    • Auto ping kick, Set a ping limit and anyone that go over this limit will be kicked after a period of time.

    • Report, adds 2 commands to the chat, !admin and !report when someone says !admin it shows a notification on your desktop and !report shows a notification and saves a file with all the players names and IDs so you can take the appropriate measures after.

    Plugins in development

    • FFA/TD Ranking

    And soon the plugin and the software source code will be released also.

    Requires .NET 4.0

    Known Issues:

    • The map information will not be precise if a Query port is not set when adding the server, that`s a limitation of the MAP_CHANGE info from RCON that sends the maps that SHOULD be playing if the map rotation was being followed, but if the map was changed by vote or admin the information will not be reliable.

    • Random disconnects, but it should auto connect

    • Player info is lost on connect so the team and kills/deaths/tks are lost

    • Team info is only sent on when the player selects a team so if the software connected in while a maps is being played and there are players connected until the next map the information won`t be precise.

    EDIT:

    • Fixed the load exception and another if there was no plugin loaded also.

    • Fixed the external IP connection issue.

    Added:

    • ROUND_END event for plugins.

    • UNBAN_PLAYER command for plugins.

    • Included source code for current plugins.

    Added 17/09:

    • Uknown team identification (ID: 2 in plugins) (Makes a TK plugin much more possible)

    • Chat Text Colors

    • Stability improvements

    Final (For now): I’ve removed the files, honestly this source was not really in a state to be shared, Way too many bugs (random disconnections, failure to recconect automatically), will look into a better version but no promises can be made, since testing for these bugs require a full server (My guess is that it’s something wrong with the RCON implementation on split packets, but it’s too soon to point fingers)


  • Mod

    cool, excellent work - server admins REALLY need a decent remote adminning tool :)

    File is clean for viruses

    ! https://www.virustotal.com/en/file/f1c96d6f8954a187d3b508f32ab83b85b9639ccc118879d7bf0d307da4035ae2/analysis/1377993286/

    However i do get an unhandled exception on launch

    Index was out of range, parameter name: index
    Must be non-negative and less than the size of the collection

    ! See the end of this message for details on invoking
    ! just-in-time (JIT) debugging instead of this dialog box.
    !
    ! ************** Exception Text **************
    ! System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
    ! Parameter name: index
    ! at System.Collections.ArrayList.get_Item(Int32 index)
    ! at System.Windows.Forms.DataGridViewSelectedRowCollection.get_Item(Int32 index)
    ! at ChivalryRCON.frmMain.Form1_Load(Object sender, EventArgs e)
    ! at System.Windows.Forms.Form.OnLoad(EventArgs e)
    ! at System.Windows.Forms.Form.OnCreateControl()
    ! at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    ! at System.Windows.Forms.Control.CreateControl()
    ! at System.Windows.Forms.Control.WmShowWindow(Message& m)
    ! at System.Windows.Forms.Control.WndProc(Message& m)
    ! at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    ! at System.Windows.Forms.Form.WmShowWindow(Message& m)
    ! at System.Windows.Forms.Form.WndProc(Message& m)
    ! at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    ! at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    ! at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    !
    !
    ! ************** Loaded Assemblies **************
    ! mscorlib
    ! Assembly Version: 4.0.0.0
    ! Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    ! CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ! –--------------------------------------
    ! ChivalryRCON
    ! Assembly Version: 1.0.0.0
    ! Win32 Version: 1.0.0.0
    ! CodeBase: file:///C:/Users//Desktop/ChivalryRCON.exe
    ! ----------------------------------------
    ! System.Windows.Forms
    ! Assembly Version: 4.0.0.0
    ! Win32 Version: 4.0.30319.1 built by: RTMRel
    ! CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ! ----------------------------------------
    ! System.Drawing
    ! Assembly Version: 4.0.0.0
    ! Win32 Version: 4.0.30319.1 built by: RTMRel
    ! CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ! ----------------------------------------
    ! System
    ! Assembly Version: 4.0.0.0
    ! Win32 Version: 4.0.30319.1 built by: RTMRel
    ! CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ! ----------------------------------------
    ! ChivalryRcon.Extensibility
    ! Assembly Version: 1.0.0.0
    ! Win32 Version: 1.0.0.0
    ! CodeBase: file:///C:/Users/
    /Desktop/ChivalryRcon.Extensibility.DLL
    ! ----------------------------------------
    ! System.Core
    ! Assembly Version: 4.0.0.0
    ! Win32 Version: 4.0.30319.1 built by: RTMRel
    ! CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ! ----------------------------------------
    ! System.ComponentModel.Composition
    ! Assembly Version: 4.0.0.0
    ! Win32 Version: 4.0.30319.1
    ! CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.ComponentModel.Composition/v4.0_4.0.0.0__b77a5c561934e089/System.ComponentModel.Composition.dll
    ! ----------------------------------------
    ! Announcer
    ! Assembly Version: 1.0.0.0
    ! Win32 Version: 1.0.0.0
    ! CodeBase: file:///C:/USERS/
    /DESKTOP/PLUGINS/ANNOUNCER.DLL
    ! ----------------------------------------
    ! ChatLogger
    ! Assembly Version: 1.0.0.0
    ! Win32 Version: 1.0.0.0
    ! CodeBase: file:///C:/USERS/
    /DESKTOP/PLUGINS/CHATLOGGER.DLL
    ! ----------------------------------------
    ! PingAutoKick
    ! Assembly Version: 1.0.0.0
    ! Win32 Version: 1.0.0.0
    ! CodeBase: file:///C:/USERS/
    //DESKTOP/PLUGINS/PINGAUTOKICK.DLL
    ! ----------------------------------------
    ! Report
    ! Assembly Version: 1.0.0.0
    ! Win32 Version: 1.0.0.0
    ! CodeBase: file:///C:/USERS/
    //DESKTOP/PLUGINS/REPORT.DLL
    ! ----------------------------------------
    ! ReservedSlots
    ! Assembly Version: 1.0.0.0
    ! Win32 Version: 1.0.0.0
    ! CodeBase: file:///C:/USERS/
    *******//DESKTOP/PLUGINS/RESERVEDSLOTS.DLL
    ! ----------------------------------------
    ! System.Configuration
    ! Assembly Version: 4.0.0.0
    ! Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    ! CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ! ----------------------------------------
    ! System.Xml
    ! Assembly Version: 4.0.0.0
    ! Win32 Version: 4.0.30319.1 built by: RTMRel
    ! CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ! ----------------------------------------
    !
    ! ************** JIT Debugging **************
    ! To enable just-in-time (JIT) debugging, the .config file for this
    ! application or computer (machine.config) must have the
    ! jitDebugging value set in the system.windows.forms section.
    ! The application must also be compiled with debugging
    ! enabled.
    !
    ! For example:
    !
    ! <configuration>
    ! </configuration>
    !
    ! When JIT debugging is enabled, any unhandled exception
    ! will be sent to the JIT debugger registered on the computer
    ! rather than be handled by this dialog box.

    and do have .net 4.0 installed

    Nb: Possibly the exception thrown when an attempt is made to access an element of an array with an index that is outside the bounds of the array, so possibly an insert on a blank record causing this?

    Edit: also get the same error on a different machine, running win7 64 & .net 4

    EDIT2: Am guessing the fault is because the servers.cfg file doesn’t exist on first launch

    EDIT3: if you add a file called ‘servers.cfg’ into the launch directory with the following dummy info:

    111-111-111-111_15745;111.111.111.111;15745;password;27960

    Where 111 etc are your server IP
    the 15745 is the join port
    password is your password (surprisingly enough)
    and 27960 is whatever RCON port you’ve setup in your UDKGame.ini configs

    It will at least start the program up without errors. You can then add your actual server and save that, however still can’t get it to connect to the servers :s



  • Yeah, big mistake on my part, gonna update it



  • :o Well well what do we have here. Outstanding job!! Downloaded and will wait for your update on the config file / server connectivity.

    Yeah I installed B3, disabled a few plugins (TK especially), and while the resource footprint is small enough, it seems to render UDK unstable over time. And the B3 community does have other 3rd party plug-ins, but there’s no guarantee those will work with Chiv, and their documentation is even more piss-poor than B3 if that is even possible.

    THANK YOU for providing an alternative. We need to be able to reliably admin our dedicated servers, damn it.


  • Mod

    Thanks for the update. Can confirm no errors on startup now.

    However with the correct server details entered it doesn’t appear to connect - the only option I have is to reset the connection, but I never get a ‘connected’ tickbox or any server info appear, like below

    The correct server IP, Join Port, Query port and server passwords are entered

    btw sent you a pm :)



  • Is the password the password to your server, if you have it password protected? Or is it the admin password that you log into in-game? If it’s the former, and my server is open to the public and not locked, I’m assuming the value is null?

    Also, what is the ‘Join Port’ ? Does that correspond to the ‘Port=XXXX’ value in PCServer-UDKEngine.ini?

    Thanks!


  • Mod

    @DoxHoliday:

    Is the password the password to your server, if you have it password protected? Or is it the admin password that you log into in-game? If it’s the former, and my server is open to the public and not locked, I’m assuming the value is null?

    Also, what is the ‘Join Port’ ? Does that correspond to the ‘Port=XXXX’ value in PCServer-UDKEngine.ini?

    Thanks!

    Although it’s not working for me (as above)

    I’d be 99% sure the password is the rcon password (so that the tool will be able to do admin commands like kick etc).

    Join port is the one that will be specified on your command line



  • The port is the RCON port, not the connect

    To set the port that the game uses to communicate with the tool, in PCServer-UDKGame.ini add (or edit):

    Code: Select all
    [AOC.AOCRCon]
    RConPort=27960

    And lets keep all the questions in this thread, so if someone has a doubt theres probably an answer here (:


  • Mod

    @onesizefitsall:

    The port is the RCON port, not the connect

    To set the port that the game uses to communicate with the tool, in PCServer-UDKGame.ini add (or edit):

    Code: Select all
    [AOC.AOCRCon]
    RConPort=27960

    And lets keep all the questions in this thread, so if someone has a doubt theres probably an answer here (:

    thanks for the reply. I’d set the port as the rcon port now, still same as above - not connecting



  • @onesizefitsall:

    Features:

    • Multiple Server Administration

    Does this mean i can have 1 ban list for all my servers or just they will all be accessed individually through the same tool?… TB have so far refused to share what they use for that

    Since you have a chat logging plugin would it be possible to have one that kicks/bans people for writing certain things?

    And same with team killing, since you have one that kicks high ping is it possible to have ones that kick high team damage ?



  • @MonkeyFiend:

    @onesizefitsall:

    The port is the RCON port, not the connect

    To set the port that the game uses to communicate with the tool, in PCServer-UDKGame.ini add (or edit):

    Code: Select all
    [AOC.AOCRCon]
    RConPort=27960

    And lets keep all the questions in this thread, so if someone has a doubt theres probably an answer here (:

    thanks for the reply. I’d set the port as the rcon port now, still same as above - not connecting

    Try to telnet to your server IP and RCON port (telnet ip port) and see if get any answer, it should show something.



  • @BlaZe:

    @onesizefitsall:

    Features:

    • Multiple Server Administration

    Does this mean i can have 1 ban list for all my servers or just they will all be accessed individually through the same tool?… TB have so far refused to share what they use for that

    Since you have a chat logging plugin would it be possible to have one that kicks/bans people for writing certain things?

    And same with team killing, since you have one that kicks high ping is it possible to have ones that kick high team damage ?

    The ban list is not across all servers, the ban on all servers option don`t work since TBS used an method that the requires the player to be connected and not exposed the adminnetbanid using RCON.

    The TK plugin is not really a reliable way, if you look at the Custom content, Cthulhu is doing an Anti TK mod that works really well, but we`ll have to wait a while until the SDK patch.

    The kick on chat trigger is possible.


  • Mod

    get a response of sorts from the server if I telnet into it, but then it closes the connection. The rcon tool never seems to connect

    Has anyone got this working yet or am I just being dense?



  • It does not work.



  • Has anyone had success yet?


  • Mod

    yep, OP has updated the original tool and am pleased to say it’s working much better :D

    We now have it connected to 3 servers. It does however crash from time to time and throw various exceptions, but at the moment it’s still considerably better than the likes of B3.

    Now if we can just get the source and start making plugins, the main thing it’s missing is ingame admin commands and an auto TK kicker :)



  • thank you for this tool! I’ve been following this thread and I’m very happy to report that the rcon works flawlessly!



  • I am working on the stability problems, but i will release a plugin sample source so you guys can get starting on your own.



  • Great news! Thanks again OneSize!! I can’t wait to try it out.

    Huzzah!


  • Mod

    Oddly has stopped connecting to the servers again… no error message, but no ‘connected’ tick, odd since nothing should have changed serverside