Command-line Quake3 Server Commander

Miscellaneous programs and scripts, opensource or not, and sometimes, random mathematical stuff.
User avatar
Gamall
Hic sunt dracones
Posts: 4125
Joined: Fri May 26, 2006 11:09 pm
Contact:

Command-line Quake3 Server Commander

Postby Gamall » Sun Sep 30, 2007 6:41 pm

-> On filefront: http://jediknight3.filefront.com/file/C ... nder;83459

-> New version: here
qcmd-release.zip
(149.33 KiB) Downloaded 340 times


Code: Select all

*****************************************************************
**             JEDI KNIGHT: Jedi Academy & Outcast             **
*****************************************************************
 
  #-----------------------------------------------------------# 
  #       TITLE : Command-line Quake3 Server Commander        # 
  #                   TYPE : Server Utility                   # 
  #                       VERSION : 0.1                       # 
  #               AUTHOR : Gamall Wednesday Ida               # 
  #               E-MAIL : gamall.ida@gmail.com               # 
  #              WEBSITE : http://gamall-ida.com              # 
  #                                                           # 
  #                    FILESIZE : ~150 Ko                     # 
  #                   OS : Windows & Linux                    # 
  #               RELEASE DATE : September 2007               # 
  #-----------------------------------------------------------# 
 
 
 
+   WHAT IS THAT ?                                               
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o          +
 
 There  is  (as far as I know) no easy way to send an order to a
 server from a simple bash script under Windows  or  Linux,  for
 instance  a  cronjob  changing  maps  or  adding  passwords  at
 specific times. In order to do something as trivial as that  in
 a  script,  one needs PERL socket programming or some ugly unix
 pipes hack. I have  no  idea  if  this  is  even  doable  under
 Windows.                                                       
 
 This  program  is  a very simple tool, written in C++, allowing
 anybody to send any command to  any  server  using  the  Quake3
 protocol, which is the case of Jedi Knight servers, without any
 unnecessary hassle.                                             
 
 
+   HOW DO I USE IT ?                                           
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o          +
 
 Running  the executable without any argument displays some help
 text:                                                           
 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
       ** Quake3 Commander v. 0.1
       ** by Gamall Wednesday Ida
       ** email : gamall.ida@gmail.com
       ** web   : gamall-ida.com
       
       
       Usage: ./qcmd -ip 127.0.0.1 -p 21000 -c rcon MyPass map mp/ffa3
       
       Other options :
       -format : clean display for query 'getinfo' or 'getstatus'
       -timeout: seconds before timeout                [def=2]
       -retries: if timeout, how many times do I try ? [def=2]
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
 
 Note that depending on  your  system  and  where  you  put  the
 executable,  you  might  not  need  the "./" before the command
 name. And never under Windows. This is  not  specific  to  this
 program anyway :P                                               
                                                                 
 Let  us  see  some  example  of  commands and the corresponding
 output of the program. Here the RCon password of my  server  is
 set  to  "MyPass".  Note that the script need not be run on the
 same system than the server. If it is, however, you can use the
 IP "127.0.0.1" or "localhost".                                 
 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
       ./qcmd -ip 213.251.186.99 -p 29070
                                 -c rcon MyPass say Hello there !
       
       Time      'Sun Sep 30 18:06:19 2007'
       To server '213.251.186.99:29070'
       Command   'rcon MyPass say Hello there !'
       Answer    [    print
       broadcast: print "server: Hello there !\n"
       ]
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
 
 You can  also  use  non-RCon  commands  such  as  getstatus  or
 getinfo:                                                       
 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
       ./qcmd -ip 213.251.186.99 -p 29070 -c getinfo
       
       Time      'Sun Sep 30 18:13:34 2007'
       To server '213.251.186.99:29070'
       Command   'getinfo'
       Answer    [    infoResponse
       \game\japlus\fdisable\163837\wdisable\524279\truejedi\0
       \needpass\1\gametype\0\sv_maxclients\24\clients\0\mapname
       \the_academy_v3\hostname\^1Dragon's Lair\protocol\26]
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
 
 As  you  can  see,  the server's answer is, in that case, quite
 illegible. Use the  -format  option  to  get  a  more  readable
 answer:                                                         
 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
       ./qcmd -ip 213.251.186.99 -p 29070 -c getinfo -format
       
       Time      'Sun Sep 30 18:17:25 2007'
       To server '213.251.186.99:29070'
       Command   'getinfo'
       Answer    [    infoResponse
       
              -> game : japlus
              -> fdisable : 163837
              -> wdisable : 524279
              -> truejedi : 0
              -> needpass : 1
              -> gametype : 0
              -> sv_maxclients : 24
              -> clients : 0
              -> mapname : the_academy_v3
              -> hostname : ^1Dragon's Lair
              -> protocol : 26]
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
 
 Of course, since you will use this program inside a script, you
 won't  be there to read anything... but you can easily redirect
 the output to a log file: the command                           
 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
       ./qcmd -ip 213.251.186.99 -p 29070 -c getinfo -format >> mylog.txt
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
 
 Will append the output to the file "mylog.txt", and create  the
 file if it didn't already exist, so you can easily keep logs of
 every  command that is sent by your script/cronjob/etc. And for
 once, it works the same way under both Windows  and  Linux  :-)
 
 There  is  no need to speak about -timeout and -retries, as the
 default values should be perfect in most cases.                 
 
 If the server doesn't answer, be it because you  are  targeting
 the  wrong  IP:Port  or  sending  an incorrect command, you can
 expect a timeout error message:                                 
 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
       qcmd -ip 213.251.186.99 -p 29071 -c getstatus -format
       
       Time      'Sun Sep 30 18:39:22 2007'
       To server '213.251.186.99:29071'
       Command   'getstatus'
       Answer    [
       ERROR: Socket timeout, no reply received.
       ]
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
 
 
+   CONTACT                                                     
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o          +
 
 If you need  help,  or  have  suggestions,  comments,  insults,
 praise  or  in  general, anything to say about this program you
 expect me to read and answer to, please post on  the  program's
 topic on my website:                                           
 
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
       http://gamall-ida.com/f/viewtopic.php?f=3&t=342
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
 
 
+   END OF FILE                                                 
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-o          +
 




























  +-----------------------------+
  | File generated with 'GaTeX',|
  | an ASCII typesetting system |
  | by  Gamall  Wednesday  Ida. |
  |   http://gamall-ida.com     |
  +-----------------------------+
  Build: Sun Sep 30 19:02:14 2007
  File : readme.gat.txt
{<§ Gamall Wednesday Ida §>}
{ Mods and Programs - Mods TES-IV Oblivion }

User avatar
Gamall
Hic sunt dracones
Posts: 4125
Joined: Fri May 26, 2006 11:09 pm
Contact:

Re: Command-line Quake3 Server Commander

Postby Gamall » Mon Oct 29, 2007 4:05 pm

LINUX:

In case of library dependencies problems with the two linux executables, here are two statically linked versions of the executable. One of these is bound to work on your system.

StaticQCMD.zip
(1.1 MiB) Downloaded 332 times


If they both fail, please copy and paste
  • The error message when you try to run each executable (the four of them: two static and two dynamic)
  • The output of the 'cat /proc/version' command.

Oh, if all else fails, 'wine qcmd.exe' should work like a charm. Ok that's perverted :foufou
{<§ Gamall Wednesday Ida §>}
{ Mods and Programs - Mods TES-IV Oblivion }


Return to “Freewares, game mods, Java, C++, OCaml & Maths”

Who is online

Users browsing this forum: No registered users and 17 guests