r1ch.net forums
* Home Help Search Login Register
r1ch.net  |  r1ch.net stuff  |  R1Q2  |  Topic: Q2Admin 1.17.44 Released - CRITICAL UPDATE
Pages: 1 2 3 4 [All]
Print
Author Topic: Q2Admin 1.17.44 Released - CRITICAL UPDATE  (Read 93413 times)
R1CH
Administrator
Member

Posts: 2625



« on: June 03, 2005, 08:24:29 pm »

While reviewing the Q2Admin code, I have discovered several critical vulnerabilities in the handling of certain commands that can lead to arbitrary code execution. An updated version, 1.17.44, is now available. Please update any servers using 1.17.43 immediately and please notify any admins you personally know who may be running vulnerable versions.

Linux binary:
http://r-1.ch/q2admin-1.17.44-linux-update.zip

Win32 binary:
http://r-1.ch/q2admin-1.17.44-win32-update.zip

Source code:
http://r-1.ch/q2admin-1.17.44-source.zip

Changes:
  • Patched two critical security bugs exploitable by remote users.

  • Patched a security bug exploitable by users with rcon.

  • Improved 'whois' command so it does not crash the server.

  • Long lrcon commands should no longer crash the server.

  • Removed broken NoCheat 2.34 version checking.

  • Added proper GPL headers to the source code.


Full details of the security issues will be released in three months.
« Last Edit: June 03, 2005, 08:45:43 pm by R1CH » Logged
WHO
Member

Posts: 26


« Reply #1 on: June 04, 2005, 06:22:12 am »

thx mate, can I ask:

Patched a security bug exploitable by users with rcon.


..........................:/  Huh

or should I ask privately in this matter?
Logged
Xtife
Guest
« Reply #2 on: June 04, 2005, 09:39:26 am »

are you maintaining q2admin now?

just wondering if this would be betetr then ar-admin
Logged
incith
Member

Posts: 27



« Reply #3 on: June 05, 2005, 12:50:37 am »

Is there a list of all the new settings since the last release on planetquake somewhere?

Also, great job R1CH, all around.. you have many a project. Smiley

Edit: And hello everyone!
Logged
Bossman
Member

Posts: 486


« Reply #4 on: June 05, 2005, 10:04:57 am »

 Here is one from iENO

Sorry bout that pasted wrong one here.
« Last Edit: June 05, 2005, 04:14:24 pm by Bossman » Logged
incith
Member

Posts: 27



« Reply #5 on: June 05, 2005, 11:13:51 am »

Is that the correct thread? embarassed

Edit:
Decided to search, had searched before mind you, but this time I searched for iENO in advanced search tongue
http://www.r1ch.net/forum/index.php?topic=253.0

Thanks. Smiley
« Last Edit: June 05, 2005, 11:20:50 am by incith » Logged
quadz
Member

Posts: 16


« Reply #6 on: June 05, 2005, 11:24:31 am »

Kick-ass, r1ch !!

On behalf of your fans at tastyspleen, YOU ROCK !!!!

Smiley

never-quadz
Logged
incith
Member

Posts: 27



« Reply #7 on: June 07, 2005, 02:42:00 am »

So I was setting up a server tonight for our clan, it was working fine, then I added q2admin (latest release by you), and now both r1q2ded and r1q2ded-old die saying that gamei386.so.real is API version 0.. both r1q2ded and -old run the .so when it is used without q2admin..

This is under Linux.

Regards~

Edit: Oops! Bleh. I had it .so.real. *laugh*
« Last Edit: June 07, 2005, 07:40:27 am by incith » Logged
dk_sn1p3r
Member

Posts: 23


« Reply #8 on: June 07, 2005, 04:41:06 pm »

iENO can you post your configs for the latest version of q2admin possibly i have no idea what all the new features for q2admin are and don't have the latest configs...

Any help would be appreciated!

Thx
Logged
Cocolino
Guest
« Reply #9 on: June 07, 2005, 04:42:50 pm »

command "!mute" does not work properly. Sad
maybe you can include this commant to r1q2ded ? 


Logged
Bossman
Member

Posts: 486


« Reply #10 on: June 08, 2005, 07:30:29 am »

  Are you doing it like thiis?

sv !mute matt  400

That would shut matt  up for 400 seconds

sv !mute [LIKE/RE/CL] name [time (seconds)/PERM

Hey dk_sn1p3r go up a few spots to  incith  he gots the page there.
« Last Edit: June 08, 2005, 07:33:44 am by Bossman » Logged
QwazyWabbit
Member

Posts: 402


« Reply #11 on: June 11, 2005, 10:23:33 pm »

What causes message "%s tried to flood the server (2)" to be sent by q2admin 1.17.44?
Logged
Snake
Member

Posts: 184


« Reply #12 on: June 12, 2005, 02:31:44 am »

Too many userinfo changes sent. From the q2admin.txt that I have:

; there's an exploit in q2admin which means that if you send a lot of
; userinfo changes to it then it overflows it's command
; queues and actually makes the player invisible to the q2admin but not
; the game or server.  this means none of q2admins checks will work.
; don't worry it's not commonly used but we did see that it was being used
; in the id3 modified ratbot as another level of throwing q2admin.
;
; this exploit can also be used to crash the server often with wierd
; messages like bad magic overflow (iirc).

; maximum amount of times a player can change their userinfo before being
; kicked for server flooding
;
userinfochange_count "40"


; amount of time in seconds a player can reach their maximum number of
; userinfo changes
;
userinfochange_time "60"
Logged
QwazyWabbit
Member

Posts: 402


« Reply #13 on: June 12, 2005, 07:48:08 am »

Thanks Snake,

That's exactly what was happening. The player had a hand 2/0 change in his attack binds.

QW
« Last Edit: June 12, 2005, 08:11:05 am by QwazyWabbit » Logged
R1CH
Administrator
Member

Posts: 2625



« Reply #14 on: September 23, 2005, 04:53:57 pm »

Full details of the security issues will be released in three months.
Buffer overflow in admin/refereee logging code allows arbitrary code execution by any client. sprintf() of command line into 256 byte buffer, game over.
Buffer overflow in rcon password exploit logging function allows arbitrary code execution by any client trying to exploit the rcon password. sprintf() into 256 byte buffer with user-supplied parameters, boom.
Logged
ip
Guest
« Reply #15 on: December 08, 2005, 11:43:27 am »

i started a few weeks ago playing with this client.
I got the newest version etc.
And three times it happend so i get kicked from server and it says that im using ZBOT.
is that a known issue ?

btw im playing ActionQuake2
Logged
shovel
Member

Posts: 84



« Reply #16 on: December 08, 2005, 04:18:55 pm »

Q2Admin is not a client. It is for administering a server. You might want to try r1q2, q2advance or NoCheat for a client.
Logged
Lemonzest
Member

Posts: 188



« Reply #17 on: December 10, 2005, 04:05:57 pm »

where can i get the full version of this and not just the update? i googled for iENO Q2Admin but only found dead links Sad and as i understand it includes newstuff ontop of the killerbee version found on planetquake?

Thanks for the help.
Logged
_DOA_MERLYN
Member

Posts: 35



« Reply #18 on: December 10, 2005, 04:16:47 pm »


this version is a full version, it's just an update to the last version...  iENO helped out on this update, i believe...

Logged
Bossman
Member

Posts: 486


« Reply #19 on: December 10, 2005, 06:30:59 pm »

http://www.planetquake.com/q2admin/

Just download the q2admin117 if you it has all the files you are looking for in it.
Logged
Dreg
Member

Posts: 4


« Reply #20 on: December 12, 2005, 03:36:27 pm »

I just installed q2admin and have a couple of questions for anybody that may know.  do all the q2admin remain in the d:\quake2 directory or should I move them to the d:\quake2\lithium directory?  Second, I enabled q2admin logging but get nothing in the q2admin.log file, any thoughts?
Logged
Bossman
Member

Posts: 486


« Reply #21 on: December 12, 2005, 08:48:40 pm »

 Put  all the files in your both your quake2 dir and the mod dir as far as the log file do you get the qconsole.log or a empty q2admin.log if so try logfile 1

  But wait tell you try it out with it in mod dir also it may start working then.
Logged
QwazyWabbit
Member

Posts: 402


« Reply #22 on: December 14, 2005, 09:47:32 am »

All the q2admin files belong in the mod folder for each mod you intend to run it with.

What you get in q2admin.log depends on the settings in your q2adminlog.txt file.

A separate log file will be created by q2admin in the mod folder if this statement exists in the q2adminlog.txt:
LOGFILE: 1 MOD "q2admin.log"

qconsole.log is created by the game engine if you set logfile 1 or 2. If logfile = 1, a new qconsole.log is created each time the server is restarted. If logfile = 2, the file is appended. This only applies to qconsole.log.

Read the documentation that comes with q2admin carefully. There are a lot of settings and a lot of files to learn and maintain.
Logged
Bossman
Member

Posts: 486


« Reply #23 on: December 14, 2005, 10:27:04 am »

2.2. q2admin.txt setup
-------------------------

The configuration file is automatically read from two places.
It first reads q2admin.txt from the Quake2 directory then
from the mod directory.

Anyone wanting to make a configuration specific to a mod
can copy the q2admin.txt into the mod directory and
modify it for the requirements of that mod.
Logged
QwazyWabbit
Member

Posts: 402


« Reply #24 on: December 14, 2005, 10:46:44 am »

But the DLL is NOT loaded from the root folder, only the mod folder, so it makes no sense to put any of the files in the root folder.

Why put a config file in the root, only to be overridden by the identical file in the mod folder? This is a maintenance headache when trying to remember whether to modify a setting in the root folder or the mod folder files. Far better practice to keep those kinds of files out of the root and only put them in the mod folder. This reduces confusion when associating the configuration with the mod or when running different mods simultaneously. The only time it would make sense to have a common file would be for banning purposes or setting up a minimal baseline configuration.
Logged
Bossman
Member

Posts: 486


« Reply #25 on: December 14, 2005, 07:55:44 pm »

 Well then why does it make sence to have it read the files the second time in the mod when it will look in the quake2 dir first? So if they are in the quake2 dir and you have it set it will use that setting for every mod. To have it in mod is so you can set stuff for just that mod if not the same setting as what you have in Quake2 dir. Seems to make sence I am sure it was designed for servers that run more then one mod. Maybe that is why it has the name?
Logged
Bossman
Member

Posts: 486


« Reply #26 on: December 14, 2005, 08:19:29 pm »

  That is good advise too read docs (readme.txt) cause there are different ways it installs, in each and every one though all files are copied to the quake2 dir in the windows case it creates a dir called release for the dll. So as you can see the docs (readme.txt) will help to set it up right for whatever system you have.
   Plus it will cover all the settings and commands in there like Qwazy said.
Logged
mdvz0r
Member

Posts: 3


« Reply #27 on: March 16, 2006, 07:29:34 am »

While reviewing the Q2Admin code, I have discovered several critical vulnerabilities in the handling of certain commands that can lead to arbitrary code execution. An updated version, 1.17.44, is now available. Please update any servers using 1.17.43 immediately and please notify any admins you personally know who may be running vulnerable versions.

Linux binary:
http://r-1.ch/q2admin-1.17.44-linux-update.zip

Win32 binary:
http://r-1.ch/q2admin-1.17.44-win32-update.zip

Source code:
http://r-1.ch/q2admin-1.17.44-source.zip

Changes:
  • Patched two critical security bugs exploitable by remote users.

  • Patched a security bug exploitable by users with rcon.

  • Improved 'whois' command so it does not crash the server.

  • Long lrcon commands should no longer crash the server.

  • Removed broken NoCheat 2.34 version checking.

  • Added proper GPL headers to the source code.


Full details of the security issues will be released in three months.

I want to compile this for linux x86_64, but i guess the source is not enough to compile?? Am i missing somehting? Thanks for the help.
Logged
QwazyWabbit
Member

Posts: 402


« Reply #28 on: March 17, 2006, 09:11:29 am »

You need a makefile to tell make how to build it. Start with this, you may have to modify it for your platform.

Code:
CFLAGS = -O -g -DNDEBUG -DLINUX -Dstricmp=Q_stricmp
LDFLAGS = -S

ORIGDIR=Source

OBJS =  g_main.o md4.o regex.o zb_ban.o zb_checkvar.o zb_clib.o zb_cmd.o zb_disable.o \
zb_flood.o zb_init.o zb_log.o zb_lrcon.o zb_msgqueue.o zb_spawn.o zb_util.o \
zb_vote.o zb_zbot.o zb_zbotcheck.o


gamei386.so: $(OBJS)
ld -lm -shared -o $@ $(OBJS) $(LDFLAGS)
chmod 0755 $@
ldd $@

clean:
/bin/rm -f $(OBJS) gamei386.so

$*.o: $*.c
$(CC) $(CFLAGS) -c $*.c

$*.c: $(ORIGDIR)/$*.c
tr -d '\015' < $(ORIGDIR)/$*.c > $*.c

$*.h: $(ORIGDIR)/$*.h
tr -d '\015' < $(ORIGDIR)/$*.h > $*.h

# DO NOT DELETE

g_main.o: g_local.h q_shared.h game.h
md4.o: g_local.h q_shared.h game.h
regex.o: g_local.h q_shared.h game.h
zb_ban.o: g_local.h q_shared.h game.h
zb_checkvar.o: g_local.h q_shared.h game.h
zb_clib.o: g_local.h q_shared.h game.h
zb_cmd.o: g_local.h q_shared.h game.h
zb_disable.o: g_local.h q_shared.h game.h
zb_flood.o: g_local.h q_shared.h game.h
zb_init.o: g_local.h q_shared.h game.h
zb_log.o: g_local.h q_shared.h game.h
zb_lrcon.o: g_local.h q_shared.h game.h
zb_msgqueue.o: g_local.h q_shared.h game.h
zb_spawn.o: g_local.h q_shared.h game.h
zb_util.o: g_local.h q_shared.h game.h
zb_vote.o: g_local.h q_shared.h game.h
zb_zbot.o: g_local.h q_shared.h game.h
zb_zbotcheck.o: g_local.h q_shared.h game.h
Logged
R1CH
Administrator
Member

Posts: 2625



« Reply #29 on: March 17, 2006, 01:17:42 pm »

Q2Admin hasn't been tested on x64 so use at your own risk, I strongly suspect it won't work without some changes.
Logged
mdvz0r
Member

Posts: 3


« Reply #30 on: March 20, 2006, 09:25:04 am »

Q2Admin hasn't been tested on x64 so use at your own risk, I strongly suspect it won't work without some changes.
You're right, it doesn't even compile.
When trying to compile it gives me this error:
Quote
ld: g_main.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
g_main.o: could not read symbols: Bad value
make: *** [q2admin.so] Error 1

When compiling with -fPIC it worked... but loads of warnings..
Logged
Bossman
Member

Posts: 486


« Reply #31 on: March 20, 2006, 04:44:49 pm »

q2admin.so?? Thats for Linux servers right? Not saying it will work just see that there with error 1 was wondering.
Logged
QwazyWabbit
Member

Posts: 402


« Reply #32 on: March 21, 2006, 12:25:13 am »

You're right, it doesn't even compile.
When trying to compile it gives me this error:
When compiling with -fPIC it worked... but loads of warnings..

PIC? Isn't that an embedded processor? Sounds like the compiler thinks it's cross-compiling. This is wrong.
Size of integers in 32 vs. 64 will lead to problems with the code since many times the coders assumed integers would always be 32 bits. I have not looked at the code for portability to 64 bits but there will undoubtedly be many ways the code can fail. Good luck. Smiley
« Last Edit: March 21, 2006, 12:27:24 am by QwazyWabbit » Logged
R1CH
Administrator
Member

Posts: 2625



« Reply #33 on: March 21, 2006, 01:41:03 am »

-fPIC causes position independent code, ie relocatable, as many .so should be.
Logged
mdvz0r
Member

Posts: 3


« Reply #34 on: March 21, 2006, 02:30:55 am »

So far so good, it's running, and without any errors. Hope it stays that way.
Logged
Dirk
Guest
« Reply #35 on: April 29, 2006, 02:08:21 pm »

Anyone else having troubles with quake2-icculus client and q2admin servers?
Logged
QwazyWabbit
Member

Posts: 402


« Reply #36 on: May 06, 2006, 11:30:15 am »

Bug spotted in Q2admin zb_zbot.c, line 299:

         if (proxyinfo[client].msec_count = 500)

should be:

         if (proxyinfo[client].msec_count == 500)
Logged
Bossman
Member

Posts: 486


« Reply #37 on: May 29, 2006, 07:18:26 am »

The one I got has differant code there I think it must be from q2ace version for q2admin cause there is lot of referance stuff to q2ace in it also. Is this good or bad??? look at your messages Qwazy..

  Here is that file BTW....

* zb_zbot.zip (13.6 KB - downloaded 293 times.)
« Last Edit: May 29, 2006, 08:10:14 am by Bossman » Logged
QwazyWabbit
Member

Posts: 402


« Reply #38 on: May 29, 2006, 09:26:34 am »

Bossman,

The line I showed was from R1ch's release of the 1.17.44  source from the link at the top of this topic. I always immediately put my sources into VSS for tracking purposes (I use VS/VC++ 6.0 Enterprise Edition as my build tool) but to be absolutely sure I downloaded the zip again and compared my file with the one in the zip. The only difference was the line at 299 with the compare to 500. The complete function, as I have it, is shown below.

As for your version, I do not know where it comes from nor how you can reconcile your version to R1ch's version. My interest at the time I downloaded 1.17.44 was to change from BWAdmin to Q2Admin to be up to date with current development. I don't even remember how I ran across this error, I think it was during a compile at /W4 and the compiler issued warning C4706. The conclusion I came to was that it should have been == instead of =, a very common mistake/typo in C when writing 'if' statements. I have not investigated whether it shouldn't actually be >=.

Code:
void ClientThink (edict_t *ent, usercmd_t *ucmd)
{
int client;
char *msg = 0;
INITPERFORMANCE_2(1);
INITPERFORMANCE_2(2);

if(!dllloaded) return;

if(q2adminrunmode == 0)
{
dllglobals->ClientThink(ent, ucmd);
copyDllInfo();
return;
}

client = getEntOffset(ent);
client -= 1;

STARTPERFORMANCE(1);

//*** UPDATE START ***
proxyinfo[client].frames_count++;

if (lframenum > proxyinfo[client].msec_start)
{
if (proxyinfo[client].show_fps)
{
if (proxyinfo[client].msec_count == 500)
{
gi.cprintf(ent, PRINT_HIGH, "%3.2f fps\n", (float)proxyinfo[client].frames_count * 2);
}
}

if (proxyinfo[client].msec_count > msec_max)
{
if (msec_kick_on_bad)
{
proxyinfo[client].msec_bad++;
if (proxyinfo[client].msec_bad >= msec_kick_on_bad)
{
//kick
  gi.bprintf(PRINT_HIGH, PRV_KICK_MSG, proxyinfo[client].name);
    addCmdQueue(client, QCMD_DISCONNECT, 1, 0, "Speed hack.");
}
}
else
{
if (proxyinfo[client].enteredgame + 5 < ltime)
{
proxyinfo[client].speedfreeze = ltime;
proxyinfo[client].speedfreeze += 3;
}
}
}

proxyinfo[client].msec_start = lframenum;
proxyinfo[client].msec_start += msec_int * 10;
proxyinfo[client].msec_last = proxyinfo[client].msec_count;
proxyinfo[client].msec_count = 0;
proxyinfo[client].frames_count = 0;
}

proxyinfo[client].msec_count += ucmd->msec;

if (proxyinfo[client].speedfreeze)
{
if (proxyinfo[client].speedfreeze > ltime)
{
ucmd->msec = 0;
}
else
{
if (speedbot_check_type & 2)
{
gi.bprintf(PRINT_HIGH, "%s has been frozen for exceeding the speed limit.\n", proxyinfo[client].name);
}
proxyinfo[client].speedfreeze = 0;
}

}
//*** UPDATE END ***

if(ucmd->impulse)
{
if(client >= maxclients->value) return;

if(displayimpulses)
{
if(ucmd->impulse >= 169 && ucmd->impulse <= 175)
{
msg = impulsemessages[ucmd->impulse - 169];
gi.bprintf (PRINT_HIGH, "%s generated an impulse %s\n", proxyinfo[client].name, msg);
}
else
{
msg = "generated an impulse";
gi.bprintf (PRINT_HIGH, "%s generated an impulse %d\n", proxyinfo[client].name, ucmd->impulse);
}
}

if(ucmd->impulse >= 169 && ucmd->impulse <= 175)
{
proxyinfo[client].impulse = ucmd->impulse;
addCmdQueue(client, QCMD_LOGTOFILE2, 0, 0, 0);
}
else
{
proxyinfo[client].impulse = ucmd->impulse;
addCmdQueue(client, QCMD_LOGTOFILE3, 0, 0, 0);
}

if(disconnectuserimpulse && checkImpulse(ucmd->impulse))
{
proxyinfo[client].impulsesgenerated++;

if(proxyinfo[client].impulsesgenerated >= maximpulses)
{
addCmdQueue(client, QCMD_DISCONNECT, 1, 0, msg);
}
}
}

if(swap_attack_use)
{
byte temp = (ucmd->buttons & BUTTON_ATTACK);

if(ucmd->buttons & BUTTON_USE)
{
ucmd->buttons |= BUTTON_ATTACK;
}
else
{
ucmd->buttons &= ~BUTTON_ATTACK;
}

if(temp)
{
ucmd->buttons |= BUTTON_USE;
}
else
{
ucmd->buttons &= ~BUTTON_USE;
}
}

if(!(proxyinfo[client].clientcommand & BANCHECK))
{
if(zbc_enable && !(proxyinfo[client].clientcommand & CCMD_ZBOTDETECTED))
{
if(zbc_ZbotCheck(client, ucmd))
{
proxyinfo[client].clientcommand |= (CCMD_ZBOTDETECTED | CCMD_ZPROXYCHECK2);
removeClientCommand(client, QCMD_ZPROXYCHECK1);
addCmdQueue(client, QCMD_ZPROXYCHECK2, 1, IW_ZBCHECK, 0);
addCmdQueue(client, QCMD_RESTART, 1, IW_ZBCHECK, 0);
}
}

STARTPERFORMANCE(2);
dllglobals->ClientThink(ent, ucmd);
STOPPERFORMANCE_2(2, "mod->ClientThink", 0, NULL);

copyDllInfo();
}

STOPPERFORMANCE_2(1, "q2admin->ClientThink", 0, NULL);
}
Logged
Bossman
Member

Posts: 486


« Reply #39 on: May 29, 2006, 11:53:46 am »

  Only thing R1CH changed was .dll and .so files not the other .c files that go with the original Q2admin at least I never seen any but he can answer that.  But checking into this some more I see that this has been changed a lot of times stuff been added since the original 117 and it appears that someone needs to check this out more because I am sure there is lot of us that have the differant versions of .c files used with q2admin since its beginning I got quit a few versions of q2admin with all the differant updated .c files differant sizes and dates with same names. So the question here is which ones do we use with this dll or so file??
Logged
WORM.
Member

Posts: 71


« Reply #40 on: May 29, 2006, 02:47:17 pm »

nt

 rolleyes
Logged
Weasel
Member

Posts: 85



« Reply #41 on: May 30, 2006, 05:31:54 pm »

I am going to do my 1 good deed for the year.

When you compile a shared library in linux you compile all the .c files and it makes a .so file

When you compile it under windows you compile all the .c files and it makes a .dll

the .so and .dll are the end result of compiling depending on where you compile it at.

You can't change a .so or .dll file directly you have to edit the .c files and recompile unless one is going to do a binary patch which is very difficult.


Are you really that ignorant?
« Last Edit: May 30, 2006, 05:45:02 pm by Weasel » Logged
SBD
Guest
« Reply #42 on: December 10, 2006, 07:38:38 am »

Hello, sorry to bring such an old thread up just hoping osmeone else is out there;

I've recently setup a server for a few UK people but am having trouble getting q2admin to work.

After I copy across gamex86.dll into my release dir and move all the files across from the original zip from planet quake. These have all been put into quake2/ and ctf/ when a client connects the server crashes and throws up;

SZ_GetSpace: overflow without allowoverflow set

This is my Q2admin.txt
Quote
;
; This is the config file for the q2admin dll.
; (c) 1998 Shane Powell
;
; The q2admin.txt is first read from the quake2 directory and then from the mod
; directory.
;


;
; Enable/disable main zbot detection.
;
zbotdetect  "Yes"

;
; Quake2 Client Admin password.
; To enable uncomment and change the password to something else.
;
;adminpassword "secret"

;
; Only for use in windows.
; This tells the q2admin dll that it is running in the quake2 directory (or the release
; directory for v3.20+).  When set to 'No' the dll is being loaded from the mod directory
; like the linux / solaris versions. For win32 the old mod dll must be called
; 'gamex86.real.dll' for this to work.
;
quake2dirsupport "Yes"

;
; MOTD file to display at client connect (and also happens on level changed as well)
; For the console versions of the command, if you don't supply
; a filename, the MOTD is cleared. If you do the MOTD is loaded.
; NOTE: by default the MOTD is read from the quake2 directory.
; If you want to use a mod motd you must supply the directory
; name. e.g. sv !setmotd "ctf/mymotd.txt"
;
setmotd ""


;
; Once a zbot is detected, how long to wait before actioning it.
; -1 will generate a random timeout between 5 seconds to 5 seconds + randomwaitreporttime seconds.
;
zbotdetectactivetimeout "0"

;
; When zbotdetectactivetimeout is -1 this value is used to genterate a random time between
; 5 seconds to 5 seconds + randomwaitreporttime seconds.
; e.g. 55 means 5 seconds to 60 seconds
;
randomwaitreporttime "55"

;
; ZBOT backup detector timeout in seconds. 5 is the min but 60 seconds is good for the internet.
; You shouldn't need to touch this value at all. Mainly used for internal development testing.
;
clientsidetimeout "30"

;
; Disconnect a zbot user when detected.
;
disconnectuser "Yes"


;
; Display user is a zbot to the rest of the server
;
displayzbotuser "Yes"

;
; Number of times to display the user is using a zbot?
;
numofdisplays "5"

;
; Message to display that the using is using a zbot.
; NOTE: must have 1 and only 1 '%s' in the line
; %s will print the users name
;
zbotuserdisplay "%s is using a client side proxy!!!"

;
; Custom server console command to run on zbot bot detect.
; (run after the log file update)
;
customservercmd ""


;
; Custom client console command to run on zbot bot detect.
; (run after the client messages and before the disconnect)
;
customclientcmd ""


;
; Display when impulses are generated / used
; This is a future-proof thing that will display messages when impulses are used.  The reason is if
; the zbot person has a zbot hack to get around the "normal" detect this will display when he is
; sending commands.  Sort of like a back-up method of detecting zbot users.  The only problem is that
; normal clients can generate impulses as well and I don't know if this is for commanding the zbot
; or something that a normal q2 mod uses.  Only 1 q2 mod that I know off uses impulses tho so chances
; are that it's a abot user.
;
; zbot impulses:
; - Impulse 169 : toggle menu
; - Impulse 170 : move up (menu)
; - Impulse 171 : move down (menu)
; - Impulse 172 : increase item (menu)
; - Impulse 173 : decrease item (menu)
; - Impulse 174 : toggles bot on/off
; - Impulse 175 : toggles scanner display
;
; Note: I display a message when ANY impulse is used just to be safe...
;
displayimpulses "Yes"


;
; Disconnect user if generating a impulse.
;
disconnectuserimpulse "No"


;
; What impulses do we want to kick people on??  disconnectuserimpulse must be set to
; 'Yes' for this to take action.  Commenting this command out will select all impulses.
;
impulsestokickon "169, 170, 171, 172, 173, 174, 175"


;
; Max number of impulses to detect before kicking.
;
maximpulses "1"


;
; Custom client console command that is run when clients
; connect.
;
customclientcmdconnect ""


;
; Custom server console command that is run when clients
; connect.  '%c's are replaced by the client number.
; e.g. "sv !stuff cl %c file clientconnect.txt"
;
customservercmdconnect ""

;
; Display name changes so everybody knows someones changed there name...
;
displaynamechange "Yes"

;
; Enable play_team command (may not work %100 with each mod, depends on how the mod teams are implemented).
; Plays a wav file on each person that is in your team.
;
play_team_enable "No"

;
; Enable play_all command.
; Plays a wav file for each person in the game.
;
play_all_enable "No"

;
; Enable play_person command.
; Plays a wav file for 1 person in the game.
;
play_person_enable "No"

;
; Enable say_person command.
; Send a message to 1 person in the game.
;
say_person_enable "No"


;
; Enable say_group_enable command.
; Send a message to a group of people in the game.
;
say_group_enable "No"


;
; Enable the extended say commands.
;
extendedsay_enable "No"


;
; Sets 'set Bot "No Bots" s' on the server. If your getting
; "Info string length exceeded" on the server console, change
; this value to "No".
;
serverinfoenable "Yes"

;
; The default ban message for logging and displaying when someone
; is banned.
;
defaultbanmsg "You are banned from this server!!!"

;
; The default chat ban message for logging and displaying when someone
; has typed in a banned word.
;
defaultchatbanmsg "Message banned."

;
; Enable ip banning.  For bans that use both IP and Name, it then just uses the name.
;
ipbanning_enable "No"

;
; Enable nick banning.  For bans that use both IP and Name, it then just uses the IP.
;
nickbanning_enable "No"


;
; Enable chat banning.
;
chatbanning_enable "No"

;
; Sets the maximum cl_maxfps that a client may have.  See readme.txt for how this works and
; IF you should use it.  Uncomment to enable.
;
;maxfps "31"

;
; Sets the minimum cl_maxfps that a client may have. 
;
;minfps "10"

;
; Sets the maximum rate that a client may have.  See readme.txt for how this works and
; IF you should use it.  Uncomment to enable.
;
;maxrate "16000"

;
; Sets the minimum rate that a client may have.  See readme.txt for how this works and
; IF you should use it.  Uncomment to enable.
;
;minrate "1000"

;
; ban on client connect (YES) or ban on client begin (NO).  When banning on client
; connect the banned player will not use up a client position at all BUT no ban
; message is displayed.  Ban on client begin will use a player position for the length
; of the client map load then be kicked.  But client will get a BAN message before
; getting kicked.
;
banonconnect "Yes"


;
; Name changing flood protection so that a name change macro does not flood the server and
; other clients.
; namechangefloodprotect "<number of messages> <in x seconds> <silence in seconds>"
; if <silence in seconds> is 0 then the person is kicked.
; to disable change to:
; namechangefloodprotect "disable"
;
namechangefloodprotect "5 2 10"

;
; Name change flood protection message.
;
namechangefloodprotectmsg "%s change names too many times!"

;
; Kick uses for changing to banned names.  If No the name is not allowed to change.
;
kickonnamechange "No"


;
; Chat flood protection so that a chat macro does not flood the server and
; other clients.
; chatfloodprotect "<number of messages> <in x seconds> <silence in seconds>"
; if <silence in seconds> is 0 then the person is kicked.
;
; e.g. chatfloodprotect "5 2 10"
;
; to disable change to:
; chatfloodprotect "disable"
;
chatfloodprotect "disable"

;
; Name change flood protection message.
;
chatfloodprotectmsg "%s is making to much noise!"


;
; Converts the mod gamemap commands to map commands for when it changes levels.  This forces the
; mod dll to unload / reload.
;
gamemaptomap "No"


;
; Enable the disable of spawn map entities. (q2adminspawn.txt)
;
spawnentities_enable "No"


;
; Enable q2admin vote features (q2adminvote.txt).
;
vote_enable "No"

;
; The client vote command name.
;
clientvotecommand "vote"

;
; Vote timeout in seconds.
;
clientvotetimeout "60"

;
; Count non vote's in the percent calculation.
;
votecountnovotes "Yes"

;
; Percent required for the vote to pass. (1 - 99)
;
votepasspercent "50"

;
; Minimum number of people in the game before allowed to vote on a command.
;
voteminclients "0"

;
; Maximum number of votes allowed in <voteclientmaxvotetimeout> time for one player.
;
; 0 = disabled, i.e. unlimited.
;
voteclientmaxvotes "0"

;
;   Time in seconds allowed for <voteclientmaxvotes> to be cast for one player.
;
; 0 = for whole level.
;
voteclientmaxvotetimeout "0"

;
; The vote remind message time, i.e. every clientremindtimeout seconds the
; clients are reminded to vote or the stat's of the vote is displayed.
;
clientremindtimeout "10"

;
; Linux ONLY:
;
; Load the linux game so in lazy mod.  The default is NOW which can cause some mod's
; not to load.  The mod's the don't load is because of a problem with the mod itself
; not q2admin. This switch is meant to be a workaround only... 
; Mod's which don't load under the default switch can crash. (with or without q2admin)
;
soloadlazy "No"


;
; Three variables that control zbotcheck code (zbot movement checking code by
; WhiteFang)
;
zbc_enable "Yes"
zbc_jittermax "4"
zbc_jittertime "10"
zbc_jittermove " 500"


;
; Controls the detection of BW-Proxy and Nitro2/Xania proxies.
;
; 0 - No Detection.  This means they will be detected as zbots.
; 1 - Normal Detection.  This is the most secure method but with some mods
;     this may not work.
; 2 - Insecure Detection.  This will allow the proxies to connect but
;     it may also allow some types of modified zbot to connect as well.
;     Also settings either proxy_bwproxy or proxy_nitro2 to '2' will
;     automatically set the other one to '2' as well.
;
proxy_bwproxy "1"
proxy_nitro2 "1"


;
; Controls if clients are allowed to use the console to generate chat messages without the
; use of a command. 
;
consolechat_disable "No"


;
; Internal q2admin run mode.  Used for debuging / testing.  Please leave at 100 for normal use.
;
; 0    - Pass through layer only.
; 1-99 - Unused for now.
; 100  - Fully featured q2admin.
;
q2adminrunmode "100"


;
; Maximum clients that q2admin can process per frame.
; This is a debugging/internal  value that should not be
; changed unless told to.
;
maxclientsperframe "100"


;
; q2admin processes messages every x frames.  This is a internal
; testing value and it is not a good idea to change it.
;
framesperprocess "0"


;
; Detects if the client has a hacked timescale quake2.exe
;
timescaledetect "Yes"

;
;   Message that is displayed if the user is detected with a
; hacked timescale exe.
;
timescaleuserdisplay "%s is using a speed cheat quake2!!!"

;
; Skin changing flood protection so that a skin change macro does not flood the server and
; other clients.
; skinchangefloodprotect "<number of skin changes> <in x seconds> <silence in seconds>"
; if <silence in seconds> is 0 then the person is kicked.
; to disable change to:
; skinchangefloodprotect "disable"
;
skinchangefloodprotect "5 2 10"

;
; Skin change flood protection message.
;
skinchangefloodprotectmsg "%s changes skins too many times!"


;
; Enable the disable client commands. (q2admindisable.txt)
;

disablecmds_enable "No"


;
; Enable the cl_pitchspeed change detect
;
cl_pitchspeed_enable "No"

;
; What to do with cl_pitchspeed detect changes?
;
cl_pitchspeed_kick "No"

;
; Display when someone changes the cl_pitchspeed.
;
cl_pitchspeed_display "Yes"


;
; The kick display message.
;
cl_pitchspeed_kickmsg "cl_pitchspeed changes not allowed on this server."


;
; Force client to reconnect to inital connection, bepasses any proxies that may be runnning.
; Please put in the ip address/name and port (if needed) of the server.
;
; e.g. reconnect_address "quake2.games.org.nz:27920"
; or
; e.g. reconnect_address "192.168.1.10"
;
; No address means the feature is disabled.
;
reconnect_address ""


;
; Client must reconnect in X time from the inital connect.  Time in seconds.
;
reconnect_time "20"


;
; This controls how strict the reconnect feature is.
; 0 - very strict (most secure but is the most likely to cause multiple reconnections)
; 1 - less strict (not so secure, this should allow NAT router / internet software proxy
;                  to connect more easily)
;
reconnect_checklevel "0"


;
; Enables the internal disabling of spawning entities.  For this feature to
; work entity_classname_offset must be set also to the correct value for the
; mod that you are running.  "spawnentities_enable" must also be set to "Yes"
; for this figure to work.
;
spawnentities_internal_enable "No"

;
; The byte offset to the classname pointer in the entity structure.
; This is required for the internal disable spawn entities feature.
;
; If this figure is wrong q2admin may crash and the internal disable
; entities feature will not work or the entity create/delete logging
; feature to work.
;
; Email killerbee to check what the offset is for the mod that you are
; running.
;
entity_classname_offset "280"


;
; Filters out any non-printable characters from any text being said/printed.
; It only allows characters in the range of 0x20 to 0x7E.
; This may upset some mods printing.
;
filternonprintabletext "No"


;
; Swaps the use of +attack and +use.  This can be useful as if the players have
; to use +use to fire instead of +attack then it renders the auto-aim proxy
; unsable.
;
swap_attack_use "No"


;
; The server lockdown message that connecting users see.
;
lockoutmsg "This server is currently locked"

Can anyone help?
cheers
SBD
Logged
shovel
Member

Posts: 84



« Reply #43 on: December 11, 2006, 08:14:03 am »

I dont think the q2admin is your problem. What is the commmand line that you are using to start your server?  What are you using for a .EXE?  Are there any errors on the dedicated console?  How about your server.cfg? We need more info to be able to help you.
Logged
GiJO
Member

Posts: 11


« Reply #44 on: January 02, 2007, 12:02:51 pm »

Hi Guys,

Great to see Quake2 is still popular. I'm quite new to r1q2, seems great from what i've read and would love to get q2admin working as well. Just wondering how i go about doing it as i can't find a download for the full version anywhere, the gamespy site doesn't have a link to download from and the one r1ch posted seems to be for linux or source code. I'm running a windows platform.

Any help would be appreciated.

Thanks in advance
Andy
Logged
Bossman
Member

Posts: 486


« Reply #45 on: January 02, 2007, 12:33:50 pm »

Get the new dll file from on top of page the one in the middle. Here is a zip of a older version with all the .txt and readme files you need.. Use his dll not the one in zip.

 

* q2admin117.zip (145.4 KB - downloaded 299 times.)
Logged
beans
Member

Posts: 14


« Reply #46 on: January 02, 2007, 06:23:40 pm »

make a directory in your q2 core folder called release and place the dll in there. When you start the q2 server it will be run automatically. You must place the config files in the mod directory which are included in the 1.17 release ie: the q2admin.txt and the others. hope that this helps
Logged
QwazyWabbit
Member

Posts: 402


« Reply #47 on: January 03, 2007, 03:23:53 am »

If it's the standard install package it will complain that some configuration files are missing, I think it posts the alerts in the log and on the console. Create empty files of the proper names to make the alerts go away. Most of the other files it needs are there with reasonable values and lots of commentary.
Logged
GiJO
Member

Posts: 11


« Reply #48 on: January 03, 2007, 08:00:33 am »

awesome... thanks so much for that! I'll give it a go
Logged
hajas
Member

Posts: 44



« Reply #49 on: April 03, 2007, 05:25:30 pm »

Hello, in this version have the same default settings? or have the extra variables like:

msec_interval "5"
msec_max "6500"
msec_kick_on_bad "5"

ace_check "No"
ace_check_interval "60"
ace_min_clients "2"
ace_max_pmod_noreply "2"
ace_asus_check "1"
ace_way_check "No"

fps_kick_msg "    ****    %s has been using an fps hacked exe.    ****    \n"
do_vid_restart "No"
userinfochange_time "60"
userinfochange_count "40"
client_map_cfg "2"
gl_driver_max_changes "3"
gl_driver_check "0"
timers_active "No"
timers_min_seconds "10"
timers_max_seconds "180"
serverip ""      ;Enter your server's IP
lanip ""      ;Some people run lan/internet servers using different server IPs for each
speedbot_check_type "0"
speedbot_new_msec "1060"
do_franck_check "No"      ;Prevents the original FrkQ2 from connecting
whois_active "No"      ;Best left at "No" for stability issues

nc_check "No"         ;Enforces the use of NoCheat, checks for valid codes and allows software users
version_check "2.40"      ;NoCheat version number to check for
private_command_kick "No"   ;When set to "Yes" kicks clients when a "private_command" is found

private_command1 "frkq2_speed"

;Only use these if "nc_check" is "Yes"
private_command2 "error \"Download NoCheat from: http://www.bryceinc.com\""
inverted_command1 "cl_highlight" ;This checks to see if a client DOESN'T have a command, hence the 'inverted'

any one can post or mail me (fhajas[a]gmail.com) a good q2admin cfg?

thanks,
Freddy
Logged
R1CH
Administrator
Member

Posts: 2625



« Reply #50 on: April 03, 2007, 06:36:27 pm »

Q2Admin is pretty much useless as far as cheat detection goes these days, the false positive rate is unacceptable. I strongly advise against using Q2Admin unless you have a good reason for needing it such as if your mod lacks native ban / flood control / vote or other important features.
Logged
hajas
Member

Posts: 44



« Reply #51 on: April 03, 2007, 07:07:31 pm »

I want to use the checkvar option, the rest I'm turning everything off
Logged
mars
Member

Posts: 39


« Reply #52 on: April 04, 2007, 06:17:03 am »

Q2Admin is a bit limited but I did find this on my travels recently that might be of some use:
http://www.quakeabuse.org/q2admin/
mars
Logged
Lemonzest
Member

Posts: 188



« Reply #53 on: April 04, 2007, 09:00:10 am »

thanks for that, added Smiley
Logged
bushwakko
Member

Posts: 17


« Reply #54 on: April 09, 2007, 04:20:16 pm »

I can't find the original download for q2admin anywhere, I only have this update that r1ch made, but can't find the install with config files and stuff..
Logged
Bossman
Member

Posts: 486


« Reply #55 on: April 10, 2007, 10:39:56 am »

 Go up a few replies on this page and get the q2admin117.zip it has all the txt files you need.
Logged
X7
Member

Posts: 43



« Reply #56 on: June 24, 2007, 06:16:24 pm »

There is a updated Q2Admin.   shocked


Q2Admin
Latest version (1.17.47)

http://q2admin.net/

 grin X7
Logged
Pages: 1 2 3 4 [All]
Print
r1ch.net  |  r1ch.net stuff  |  R1Q2  |  Topic: Q2Admin 1.17.44 Released - CRITICAL UPDATE
Jump to:  

Powered by SMF 1.1.19 | SMF © 2013, Simple Machines