1. Hey Guest, is it this your first time on the forums?

    Visit the Beginner's Box

    Introduce yourself, read some of the ins and outs of the community, access to useful links and information.

Remote administration (tcp rcon)

Discussion in 'Community Dev Corner' started by FliesLikeABrick, Nov 18, 2012.

  1. FliesLikeABrick

    FliesLikeABrick KAG Team KAG Team

    I wanted to give you guys a heads-up that an implementation of tcp/remote rcon is completed and in testing. This means that basic administration of a server without actually being in-game is possible

    https://wiki.kag2d.com/wiki/Remote_Administration

    This feature is not available on servers run on Windows, due to the use of low-level POSIX socket system calls. This feature is only available in dedicated servers.

    edit: I originally designed this feature back in April or May. Here is the document where I planned the original design, which ended up being almost exactly how it was implemented this week
  2. Mazey

    Mazey Friendship is Magic Donator

    Useful feature, only to bad I have windows.

    Will there come sonething else for windows ?
  3. FliesLikeABrick

    FliesLikeABrick KAG Team KAG Team

    Are you talking about using a client on windows or server on windows? This can be used from windows as long as the server is on linux.
  4. Mazey

    Mazey Friendship is Magic Donator

    If the server is dedicated from windows I mean.
  5. Best idea for server hosters since seclevs. We love you flab.
  6. FliesLikeABrick

    FliesLikeABrick KAG Team KAG Team

    I just added support for typing commands into the server linux CLI itself. Please read the wiki page linked in my first post though, as there's a caveat (that the input is not protected from being interrupted by server output - but if you ignore that and keep typing your command it'll work)
  7. Teemo

    Teemo T͔̕e͖͚̖̯̩̪͙͝e͡m̖o̤̪͘ Forum Moderator

    I am incredibly turned on right now.

    edit: weird, did I just run into you on the outages ml
    GloriousToast and BlauweSmurf like this.
  8. FliesLikeABrick

    FliesLikeABrick KAG Team KAG Team

    (outages ml) yep - surprised you haven't seen me post there before :)

    edit: y u no be on IRC?
  9. I have attached simple rcon client to this post, which will let you guys test out and use this feature.
    Cross-Platform and more sophisticated clients are on the way.

    When you first launch this program, it will create config file to it's launch directory.
    If you don't want to type in your servers information everytime you want to use it, use following format:
    Code:
    ip 127.0.0.1
    port 50301
    rcon_password 123
    
    Note, this client is for Windows. Other clients will be added soon.

    Have fun.

    Attached Files:

    Beo, Downburst and Kouji like this.
  10. FliesLikeABrick

    FliesLikeABrick KAG Team KAG Team

  11. Server crashes when I post command to server /msg Some Big Text :(
    Telnet client:
    Code:
    [07:41:36] TCP RCON Connection from 77.34.104.140:51021 is now authenticated
    /msg Some Text
    [07:41:52] RCON command from 77.34.104.140:51021: /msg Some Text
    [07:41:52] /msg Some Text
    [07:41:52]
    /msg Some Big Text
    [07:42:05] RCON command from 77.34.104.140:51021: /msg Some Big Text
    [07:42:05] /msg Some Big Text
    [07:42:05] Closing console device: Signal 6 received
    Connection closed by foreign host.
    
    Server:
    Code:
    [07:42:05] RCON command from 77.34.104.140:51021: /msg Some Big Text
    [07:42:05] /msg Some Big Text
    *** glibc detected *** ./KAGdedi: double free or corruption (fasttop): 0x09a3bc38 ***
    ======= Backtrace: =========
    /lib/i386-linux-gnu/libc.so.6(+0x760f2)[0xb75420f2]
    Base/libJuxta_dedi.so(enet_free+0x1e)[0xb687e2ae]
    Base/libJuxta_dedi.so(enet_packet_destroy+0x37)[0xb687e057]
    Base/libJuxta_dedi.so(_ZN4CNet15ServerSendToAllER10CBitStream+0x88)[0xb68319e8]
    Base/libJuxta_dedi.so(_ZN4CNet14server_SendMsgEN3irr4core6stringIwNS1_12irrAllocatorIwEEEEh+0x157)[0xb68384b7]
    Base/libJuxta_dedi.so(_ZN14IC_Command_MSG6invokeERKN3irr4core5arrayINS1_6stringIwNS1_12irrAllocatorIwEEEENS4_IS6_EEEEP13IC_DispatcherP14IC_MessageSink+0x315)[0xb669b495]
    Base/libJuxta_dedi.so(_ZN13IC_Dispatcher8dispatchEN3irr4core6stringIwNS1_12irrAllocatorIwEEEERKNS1_5arrayIS5_NS3_IS5_EEEEP14IC_MessageSink+0x149)[0xb66a1fe9]
    Base/libJuxta_dedi.so(_ZN10IC_Console19handleCommandStringERN3irr4core6stringIwNS1_12irrAllocatorIwEEEE+0x24d)[0xb66a69fd]
    Base/libJuxta_dedi.so(_ZN4CNet12UpdateServerEv+0xaca)[0xb684c33a]
    Base/libJuxta_dedi.so(_ZN4CNet6UpdateEv+0x55)[0xb684f365]
    Base/libJuxta_dedi.so(_ZN12CNetworkTask6UpdateEv+0x20)[0xb682b990]
    Base/libJuxta_dedi.so(_ZN7CKernel7ExecuteEv+0xed)[0xb65763cd]
    Base/libJuxta_dedi.so(_ZN5CGame3RunEiPPc+0xb0f)[0xb660a93f]
    Base/libJuxta_dedi.so(GameDLLInit+0x685)[0xb65d08a5]
    ./KAGdedi[0x804bd68]
    ./KAGdedi[0x804dfd8]
    ./KAGdedi[0x804c06e]
    /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb74e54d3]
    
    .....................................
     
    b76c0000-b7798000 r-xp 00000000 08:10 286797    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
    b7798000-b7799000 ---p 000d8000 08:10 286797    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
    b7799000-b779d000 r--p 000d8000 08:10 286797    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
    b779d000-b779e000 rw-p 000dc000 08:10 286797    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
    b779e000-b77a6000 rw-p 00000000 00:00 0
    b77a6000-b77a9000 r-xp 00000000 08:10 386595    /lib/i386-linux-gnu/libdl-2.15.so
    b77a9000-b77aa000 r--p 00002000 08:10 386595    /lib/i386-linux-gnu/libdl-2.15.so
    b77aa000-b77ab000 rw-p 00003000 08:10 386595    /lib/i386-linux-gnu/libdl-2.15.so
    b77ab000-b77b2000 r-xp 00000000 08:10 386554    /lib/i386-linux-gnu/librt-2.15.so
    b77b2000-b77b3000 r--p 00006000 08:10 386554    /lib/i386-linux-gnu/librt-2.15.so
    b77b3000-b77b4000 rw-p 00007000 08:10 386554    /lib/i386-linux-gnu/librt-2.15.so
    b77b7000-b77bb000 rw-p 00000000 00:00 0
    b77bb000-b77bc000 r-xp 00000000 00:00 0          [vdso]
    b77bc000-b77dc000 r-xp 00000000 08:10 386590    /lib/i386-linux-gnu/ld-2.15.so
    b77dc000-b77dd000 r--p 0001f000 08:10 386590    /lib/i386-linux-gnu/ld-2.15.so
    b77dd000-b77de000 rw-p 00020000 08:10 386590    /lib/i386-linux-gnu/ld-2.15.so
    bfe26000-bfe47000 rw-p 00000000 00:00 0          [stack]
    [07:42:05] Closing console device: Signal 6 received
    ./dedicatedserver.sh: line 4: 30554 Aborted                (core dumped) ./KAGdedi autostart Scripts//dedicated_autostart.gm autoconfig Scripts/dedicated_autoconfig.gm
    
  12. FliesLikeABrick

    FliesLikeABrick KAG Team KAG Team

    is "Some Big Text" the actual text that caused the crash? Are you able to reproduce this crash?
  13. It happens with other text too, but randomly

    Code:
    [07:59:22] TCP RCON Connection from 77.34.104.140:51150 is now authenticated
    /msg bla bla bla bla
    [07:59:39] RCON command from 77.34.104.140:51150: /msg bla bla bla bla
    [07:59:39] /msg bla bla bla bla
    [07:59:39]
    /msg Bla Bla Bla
    [07:59:59] RCON command from 77.34.104.140:51150: /msg Bla Bla Bla
    [07:59:59] /msg Bla Bla Bla
    [07:59:59]
    /msg Some Big Text
    [08:00:10] RCON command from 77.34.104.140:51150: /msg Some Big Text
    [08:00:10] /msg Some Big Text
    [08:00:10] Closing console device: Signal 6 received
    Connection closed by foreign host.
    
    Code:
    [08:01:49] TCP RCON Connection from 77.34.104.140:51167 is now authenticated
    /msg Remote Administration
    [08:01:56] RCON command from 77.34.104.140:51167: /msg Remote Administration
    [08:01:56] /msg Remote Administration
    [08:01:56]
    /msg Drygoi text ot menya
    [08:02:18] RCON command from 77.34.104.140:51167: /msg Drygoi text ot menya
    [08:02:18] /msg Drygoi text ot menya
    [08:02:18] Closing console device: Signal 6 received
    Connection closed by foreign host.
    
  14. FliesLikeABrick

    FliesLikeABrick KAG Team KAG Team

  15. Not working, both with sv_tcpr enabled or disabled (but this feature should be independent to the variable, right?). Or am I doing anything wrong? I just enter command (like /msg blabla or /nextmap) directly in terminal with server currently running. Server seems to be not impressed.
  16. Update from scratch is my suggestion for now.
  17. You need use Telnet client
    In linux :
    Code:
    $telnet 0.0.0.0 50301
  18. @SnIcKeRs

    More info in the wiki.
    </br>--- merged: Nov 19, 2012 7:46 AM ---</br>
    And dafuq do you mean? Getting fresh executable or whole game folder? >.> KAGdedi got autoupdated for sure!
  19. Yes, download new Kag Dedicated server and update it from it's current state.
    So you will start with fresh new of configs and everything.

    This is just a suggestion, i highly doubt it will help you with your problem, but this is best i could come up with.

Share This Page