ServerConfigMOD Version v3.2 DeathMatch Giving the Power & Flexibility to any Quake 2 Server Operator Written by Patrick "Gutspiller" Stepp E-Mail: sconfig@quake2.com Thanks to all those who have contributed their ideas, code and beta testing time into this project! Highlight of some new features: * NEW in 3.2: Added error checking for highscore files. If the file cannot be "written" because of an improper path, or for whatever reason, this will no longer bomb the server, but rather inform the console the problem and offer suggestions on what to fix. Chat Flood Protection: From the Q2 3.20 source code, and now in ServerConfigMOD v3.20... Admin can configure via console the 'flood_msgs' (4) default, it takes to silence a user, 'flood_persecond' (4) default, how long between chat attempts before silencing, and 'flood_waitdelay' (10) default, how long a user has to wait to be able to talk again after being silenced. IP Filtering: Also using the default idSoftware code, this way of banning/allowing specific IP's and subnets is as simple as it gets! Accessed via the 'sv' command from the console, an admin can 'sv addip', 'sv removeip', 'sv listip' and 'sv writeip'. Be sure to add the parameter '+exec listip.cfg" to your shortcut (default). Use the variable 'filterban 1' (default) to ban ip's, and 'filterban 0' to only allow those ip's you specify. High Scores Fully compatible with LFire highscore datafiles for those admins who use it for easy upgrade Dynamically creates highscore datafiles if none are detected (no need for template files) Top 10 list displayed at the end of level (allowing 16 characters in names) Empty slots will display as Upon request I can offer a Top 15 list with 11-12 chars in the name. I find most beta testers and users enjoyed having 16 characters for their name to minimize their name or name and clan cut off on the high score list. Fast Change Weapons As per many users and server admins requests, fast weapon changing is now active by default. You can easily change it back t the default setting in the config file under the FastChangeWeapons variable. In Game Chase Cam Feature New connects can stay in "float" mode, or enter chase cam and follow players Current players in game can ALSO SELECT chase cam or enter "float mode" See below details for the specifics on its functionality Off Hand Grapple Support Thanks to ExpertDM grapple routines, ServerConfigMOD now allows a server admin to enable or disable grappling hook support. Players need only bind a key to +hook. Enhanced Cloaking Options Adding an entirely new dimension to gameplay, cloaking allows a player when stationary to become invisible. Again, the server admin can enable or disable this feature. This feature uses a players cells as energy to power the cloak. The draining speed can be configured as well by the admin. ZBot Detection and Automatic Removal Nothing like a cheater using a Zbot to ruin your highscores, disgruntle your players and suck bandwidth. ServerConfigMOD automatically will announce, toss out, and record to a logfile ZBot users name, IP and more. Introduction: What is ServerConfigMOD? ServerConfigMOD (sconfig for short) is a server side only MOD (like many others). But that's where the similarities end. With sconfig you, the server operator, has FULL control over how you want your server to be set up, and with many features other MODs don't have. All settings are initially made via a primary configuration file (config.txt) along with some miscellaneous support files. These include custom Server Obituary messages, name banning and map cycling to allow complete control. You also have full control to change just about all settings at the console or while playing on the server itself via the commands listed in `sv help'. Remote admins only need you rcon password to access these via `rcon sv '. The Possibilities are Practically Endless: Whether you want to run a strict DM server, balanced weapon server, or any other custom server with features like cloaking, accelerated weapons and projectile speeds, the bottomline is you can do anything you want with it. No programming, no hassles, and the freedom to experiment and create your own signature server. I start my server but it crashed. Why? Most common problem is you incorrectly modified your cycle.txt file, see the cycle.txt section in this document. Next most common mistake is mixing ;comment lines in the middle of the key/value pairs in the config.txt file. Best thing to do if you can't figure out what is wrong is to email sconfig@quake2.com your config.txt, server.cfg and cycle.txt files. I recommend starting YOUR server for the very FIRST time with the "default" setup. After you verify all is running well, play around and have fun with the settings. Why Should I Use SeverConfigMOD or Switch? Why be satisfied with your current MOD when this one can do exactly the SAME thing plus more? As with anything, it is hard to satisfy every user or admin, but just take a look at what you CAN do and what others CAN'T. Ever wish a few things weren't setup the way they currently are, well you should give sconfig a try and change what you wish. Platforms Supported: Now sconfig is available in both Win 9x/NT and Linux. I've compiled the Linux version under RedHat 5.2. There are two distributions for Win 9x/NT, make sure you get the right one. If you have installed Quake 2 in some other directory than the root of C: or D:, and because the possibilities are endless, be sure to visit http://quake2.com/sconfig for the latest instructions which outline what files need to be modified to include your proper directory paths. YES, a Linux version will be made available within 2-3 weeks (max) after the Win 9x/NT distribution is posted online for download. I just ran the installation program, how do I start the server? You are ready to run in `vanilla' mode immediately after installation. Browse to your Quake2/sconfig30 directory and double click on the `sconfig30DM' shortcut. If you want to start in dedicated mode, you can click on the shortcut with the dedicated keyword in its name. Or you can edit the sconfig30DM shortcut by adding `+set dedicated 1' to the command line. Linux users see specific docs included in the Linux distribution for your start parameter details. ** Server Settings ** Chase Cam (Accessible to players before they join the game and during their game) - * If player dies, spectator STAYS with them, when the player respawns (if not automatically depending on DM FLAGS) the spectator follows. * If spectator is following a player, and the spectator re-selects Chase Cam, the spectator will enter float mode. * If player in gib state after death, the player entering chase cam would first attempt to follow the next player available, if none are available to chase the game will bring them to "float mode". * If player dies, and player enters chase cam, spectator will enter "float" mode. * If player dies, and player is gibbed, sepctator will enter "float" mode Fraglogging for use with QuakeWorld Parsers - Support for using Perl scripts and other pre-existing programs to analyze your frag data. By default this setting is turned off (set to 0) in the config.txt file, due to the superiority of the ever popular GibStat logging which is enabled. Both QW Style fraglogging and GibStat logging can be simultaneously activated, deactivated or any combination if so desired. Fraglogging for use with GibStats - Full GibStat logging is enabled with the distribution. Settings are by default set in the server.cfg file. The default file name for logging is `StdLog.log', a setting also defied in your server.cfg file. Change this to whatever name you wish or leave default. Message of the (MOTD) - You can modify your message of the day via the config.txt file. To highlight a particular line simply place an asterick (*) before the text. Default text is white, highlighted text is green. The message of the day screen is displayed to the user before they enter the game. Players have the option of hitting the right and left brackets (`]' and `[`) to select Continue to enter the game and select different players to follow via `Chase Cam'. VWEP support - Make sure both your server and the clients that connect to your server use the latest Vwep patch. Name Banning - Banning an `exact match' of names are enabled by default (1). When set to (0) the name banning routine can search for the banned text anywhere in the name. If set to (0), if `punk' was in the banlist.txt file then no user would be able to connect to the server with names such as: `punk', `badpunk', `punker', `punkrock', etc. The default setting of (1) is straightforward, if you have a name of `punk' in the banlist.txt file, only that user `punk' (case insensitive) will be banned. Also, server operators can change this setting on the fly via `sv matchfullname' with a 0 or 1 as a value. Put as many names in here is you like. Note if you enable name banning but remove or have no entries in the banlist.txt file your server will turn away everyone. If you keep the default and add to it, you will have no problems. Player Kicking - This feature is already built into Quake 2. Remote admin users can use `rcon stats' to get a list of players and their ID's. Then they can use `rcon kick .......' to boot the user. Players which have been automatically detected with ZBot will automatically be kicked. Local server admins will not use the preceding rcon keyword, but simply just stats and kick . Client Logs - When ClientLog is set to on (1) which is the default, the server operator can see who is connecting and disconnecting, the clients IP, the time of the connect and their rate they entered the game under. Use `ClientLogName' located in the config.txt file to change the name of the path and logfile. Most admins won't have to change this setting, simply changing ClientLog from 1 to 0 will disable logging of this kind. (See Max Player Rate for sample logfile output.) Disconnects via those players being kicked due to automatic ZBot detection will be recorded in logfile as well. Max Player Rate - Below is a sample logfile, the first entry is the local user running the server connecting, the next shows a client connecting at the rate of 8000, then the MaxClientRate setting shows that a user tried to connect at a setting higher than the allowed, and thus was re-adjusted before entering. Thanks to ThreadZ for some initial beta code! NOTE: Version 2.6 and 2.7 did not handle the rate properly, however has been fixed with a 2.7 update and of course is fixed with the 3.0 release. Connect,,Sat Oct 31 16:33:33 1998,,GuTSpiller,,10.100.20.236:27901,,8000 Disconnect,,Sat Oct 31 16:34:23 1998,,GuTSpiller,, Connect,,Sat Oct 31 16:34:43 1998,,GuTSpiller,,10.100.20.236:27901,,MaxClientRat Disconnect,,Sat Oct 31 16:35:19 1998,,GuTSpiller,, Cloak Setting (On/Off) - This setting is turned off by default, I suggest you have some fun with this great feature and turn it on and play with it for a while. It truly is unique. This setting is found in the config.txt file and can be activated by changing the default value from 0 to 1. Client Cloaking Drain Speeds - With cloaking activated on your server, you can modify how fast it is used up should it be activated by a client. Values are from 0 to 10. This value is the approximate number of cells per second which is drained from the users arsenal with cloak activated. Depending on the clients "framerate" the cell drain is affected, allowing better fairness to all users. Cloaking does not become activated unless a user types `cloak' to toggle on/off. It is recommended for a user to bind a key to promote better utilization of their new device, ie. `bind k cloak' on the client would accomplish this. Note: The user can jump, fire a weapon and look around with cloak active, however any forward, backward or side to side movement will cause them to become visible. A user needs to remain stationary for 1.5 seconds before cloaking will be enabled. Since cloaking uses cells, when they activate cloak the cell status will appear on their HUD and be removed when they either run out of cells or uncloak themselves with the bound key. Grappling Hook - Like any other feature ServerConfigMOD supports, the offhand grapple can be enabled or disabled by the server operator. This can also be done on the fly, see your `sv help6' menu from the console for a list of options relating to the grapple. Client need to bind a key such as `bind h +hook' to use the grapple if you enable it. The server operator can also change the properties of how the grapple works, see the config.txt file [Grapple] section for further documentation Global Settings - Found in your confg.txt file, this is where you can define your default time and fraglimits, along with gravity setttings. I recommend keeping gravity default at 800 (normal), and using your cycle.txt file to specify any other setting on a level by level basis. Scoreboard Style - There are 3 separate scoreboard modes, which are controlled solely by the server operator to promote better stability and consistentcy. Modes values are 0, 1, or 2. Setting 2 enables players to see what spectators are in the game. HUD (Frags, Timelimit, Rank, # of Players) - By default they are all active. You may elect to take players off the hud or possibly the timelimit depending on your server settings and personal preferences. Weapon Banning - Sconfig was one of the first mods to have implented a weapon banning routine. A user cannot pick up the weapon if it is banned from use. You can ban any weapon via the config.txt file. Like most other options Server Operators can also ban and unban weapons on the fly within Quake 2 or at the console. You can type `sv help', `sv help2', . `sv help5' to view your options. Weapon Projectile Damage - This feature is great for those who want to better balance the weapons within Quake 2. It could also be used to make a weapon not usually of choice for the player to have increased power to add yet another dimention to the gameplay on you server. Start Weapons - Starting with that blaster, when others are out there stalking your or camping with their railgun & rocket launchers isn't quite fair. An idea rather than ban those weapons would be to allow everyone to start with a shotgun for example to help balance the slaughter. Start Items - Enable your players to start with Quad Damage, set the time limit for Quad (default is 30 seconds for all items), and either allow it to be placed in Inventory for later use or activate upon startup. You can also change these sorts of settings for Invulnerability, Rebreather and the Environment Suit. You an also change settings for the Silencer, Power Screen and Power Shields. Feature:With auto-spawn with Invulnerability set to on (on by default for 3 seconds) you give all new players entering the game and those who just got fragged to get their bearings or run like hell. This grace period better allows you scores to be based more on actual talent that would normally be biased for those that like to hang around regeneration spots on the board. These items can all be configured in the config.txt file. Start Ammo - Like many of the other options that can be set, this one is pretty easy to understand. The only catch is to make sure your Max Ammo is higher than your Start Ammo, for obvious reasons. Servers that run small DM boards with their DM Flags for weapons stay and items stay turned off may elect to give people ammo to start. Larger boards tend not to need the server operator to aid in this aspect However almost no player objects at this bit of help. Max Ammo - Set this value from 0 to 999. Let your players eyes light up when they are able to grab more ammo than otherwise expected. Start Health - The default value is set at 100, configurable in the config.txt file. Have some insane server settings in the works, you may opt to increase this level to make it possible to stay alive for more than a few moments. Max Health - Grab that super health did ya? Now it's starting to countdown back to 100 maybe. You can easilly increase the maximum health to be attained by altering this setting in your config.txt file. ** External Files ** quake2/sconfig30/config.txt - This file is the `guts' (haha) of sconfig. From here you can basically change any setting, anyway you like. I've heard of some Server Operators actually having several config files that they rotate depending upon the day or what mood their in. Experiment, beyond anything else, it sure is fun to see things work the way YOU specify. Whether the settings are good, fair, crazy, whatever is entirely up to you. Visit http://quake2.com/sconfig for additional config files, some created by myself and others sent in from users. Speaking of which, if you have a config file that just rocks, send it this way and I'll incorporate it on the site and give you full credit, list the server it is running on (if a publc server) and provide a link back to your Website if applicable. Mail your files to sconfig@quake2.com. quake2/sconfig30/cycle.txt - This file is the heart of the map rotation within sconfig. I soon will be adding support in a future release to allow a server operator to move forward and backward within the list. Currently you must set this file up before starting your server. By default it has the q2dmx levels, modify to your liking. If you ever bomb out or crashes, it is more than likely it is because of this file and either embedded spaces, tabs or carriage returns where they shouldn't be. Use your cursor keys to get a feel for how the default `cycle.txt' file is put together and to see where carriage returns have or haven't been placed. quake2/sconfig30/banlist.txt - The newest support file for sconfig. This file is enabled from the config,txt file by default. One name or portion of a name per line only. Also within the config file, as server operator you have the option to ban either `exact names' or names with the particular string of characters you specify. quake2/sconfig30/server.cfg - This file is where your DM Flags are set, GibStat logging settings are made, your first initial map (aside from the cycle.txt settings) is determined, and more. Better familiarize yourslef with these configuration files if you aren't satisfied with the description outlined in this document. quake2/sconfig30/sconfig30DM.lnk - The shortcut which starts in all in action. Be sure to add the commad `+set dedicated 1' to command line in this shortcut to start a dedicated server, otherwise you shouldn't have to edit this file if you plan on playing on the server as well. quake2/sconfig30/so/ServObits.txt - This file can give you the ability to set your very own custom death messages, and rather easily at that. Perhaps your playing on a LAN with a bunch of people you know, customize these to give all a laugh, piss people off, whatever your heart desires. I know I would rather see some unique death message than `Gustpiller got shot with Whoever's shotgun', can you say BORING? Of course this file is usually left untouched or experimented with last by most, as the custom messages in this file are much better than the default's already. ** Client Options ** Chase Cam - When a new players enters the game, they are presented with the MOTD menu screen. A user needs to hit the left or right bracket `[` or `]'. (The common standard for Quake 2 menu navigation) and select Chase Cam. If there are no users in the game they will only be able to stay in "float" mode. A common problem has been a newbie connecting and hitting `Esc' without reading the MOTD or knowing they only need to hit Enter (the key common to invuse) to join the game or use the brackets to select chase cam. In order to get the menu back a user needs to only hit their `Tab' key or whatever key is bound to Inventory. Or they can type `menu' at the console. This really isn't at all complicated but thought I'd address some issues and feedback here. A client can enter Chase Cam mode or "float" mode while IN THE GAME as well. Simply by hitting their Tab key or typing menu at the console will allow them to either look at their Inventory or select Chase Cam. If a user is in chase cam mode and then selects chase cam mode again they enter `float' mode. When in either Chase Cam mode, they can "Rejoin" the game. It is up to the server admin to either allow them to keep their exisitng number of frags (points) or to take them away. A user will lose all items and weapons when they enter Chase Cam from within the game. Player Identification - The player must either bind a key or enable this feature by typing `cmd id' at their console. Users can bring their console down by hitting the tilde (~) key. Hit tilde again to return back to the game. Grapple - Players bind a key to the hook, ie. 'bind +hook', depending on settings set by the server operator when used in conjunction with cloaking, players may or may not become visible when using the grapple. Cloaking - Assuming the server operator doesn't have Cloaking disabled, a user is encouraged to bind a key to toggle cloaking on/off. ie. `bind k cloak'. Cloaking drains a users cells for power. If a user does not have any cells, cloaking will automatically turn itself off as it will also do if a player runs out of cells while being cloaked. Players who are cloaked (assuming their gl_polyblend setting isn't set to 0) will be given a visual effect (kudos from some code found on Quake DeveLS). A blue tint overcomes the vision of a player who is cloaked. They will also hear and emit a pulsating beeping sound (low volume) when cloaking is active. Players that venture within short distance of one who is cloaked will hear this sound the closer they get to the cloaked player. Hint: Use `cmd id' to help find cloaked players.. It will only give a general vicinity but anything helps. It's good to have both hunt and hide features available. Flipping Off - Not that everyone has the time to flip someone off within Quake 2, and I'm not promoting this in any way, shape or form, but there is now a sound associated with this grand `ol feature. `Not good enough' will emit from the players lips. The sound is not gender specific, but it does emphasize the point across quite well. Heh heh. The `Flipoff' action by a player will trigger this sound. Reminds me of the Duke Nukem sounds.. Now if I only had some bubblegum.. Heheh, you won't get that unless you ever Hit F10 while player multiplayer Duke Nukem game. Oh, what memories.. ** CONFIG.TXT file (primary configuration file) ** [START OF CONFIG.TXT SECTION] ; ServerConfigMOD v3.2 ; http://quake2.com/sconfig ; sconfig@quake2.com ; ; Modify this file as you see fit, and at your own risk. Enjoy! ; ; Be sure to review your server.cfg, cycle.txt and banlist.txt ; Note: Do not mix comments with your key and variable/value pairs ; ----------------------------------------------------------------- ; ; Message of the Day (MOTD) ; Message of the day can be at MOST 16 lines, 26 chars wide per line. ; All lines become centered. ; To change color to green place a * in front of the word. ; ; Example: ; This is the message of the day ; *this is green text ; this is normal text ; ; To indicate a BLANK line, just leave it blank, simple enough. ; ;----[12345678901234567890123456]----- [MOTD] line1=*ServerConfigMOD v3.2 line2= line3=Cloaking support line4=Off hand grapple support line5= line6=*Now with HIGH SCORES line7=and line8=*Fast Weapon Changing line9= line10=*IN GAME CHASE CAM line11= line12=-------------------------- line13=F1 for scores line14=TAB to return to this menu line15=Enter to Join ; Grappling Support Configuration (Disabled by default), Also 'sv help6' on console ; NOTE: Recommended to enable/disable before starting server. ; * EnableHook, change to 1 to enable players to bind a key to +hook, 0 disables ; * HookTime, number of seconds hook can be actively in use, both in flight and/or ; attached to a solid (ie. a wall, or possibly the sky), ; default value for HookTime is 4 seconds. ; * HookSpeed, the velocity at which the hook is fired, default is 1900 ; * HookDamage, the amount of damage done by the hook, default is 10 ; * PullSpeed, 420 is default, 650 appears to be the max w/o jitter effect ; * SkySolid, 0 is default, set to 1 means hook can stick to sky, keep at 0 to ; disable hook from attaching to sky. When 1 hook can damage players as well. ; * CloakGrapple, when set to 1 (on), game will allow a player to stay invisible as they ; use the hook. (Assuming cloak is enabled, if cloak is not enabled, it doesn't ; matter what value of CloakGrapple is) By default it is set to 0, meaning when ; a player uses the hook when cloaked they become visible. They also cannot cloak ; when using the grapple when the value is set to 0 (off). ; * HookPathColor, default is 4 (gold/yellow) path for the hook. You can select any of ; the following as well as change them on the fly. ; 0 = red blood trail ; 1 = red particles (narrow) ; 2 = red particles (wide), as in the CTF red flag carrier trail with light source ; 3 = blue particles (wide), as in the CTF red blue carrier trail with light source ; 4 = gold trail (default) ; 5 = yellow particles (teleporter, very visible) ; 6 = black flies ; [Grapple] EnableHook=0 HookTime=4 HookSpeed=1900 HookDamage=10 PullSpeed=420 SkySolid=0 CloakGrapple=0 HookPathColor=4 ; Extended Server Obituary Messages ; ; * ModelGenDir, defines where the ModelGen.dat file resides ; * obitsDir, defines where the obits.txt, SrvObLog.txt & ServObit.ini files reside ; * NOTE, if these paths are incorrect it will attempt to load these from your root ; quake2 directory, if you modify these paths, remember the trailing slash ; [ServObits] ModelGenDir=C:/Quake2/sconfig30/SO/ obitsDir=C:/Quake2/sconfig30/SO/ ; Miscellaneous Section ; ; * ScoreboardStyle, 0 (id default), 1 (enhanced), or 2 (spectator view/split) ; * timehud, rankhud, playershud, are all set to 1 (on), set to 0 to remove from HUD ; * NameBanning, default value set to 1 (on), adjust to 0 to disable ; Make sure you edit your banlist.txt file to customize to your liking. ; * MatchFullName, default set to (1), which will match up name letter for letter ; (case insensitive), when set to (0) it will look to match value in any part of name to ban ; * BanDirectory, location of banlist.txt file, needs to have trailing slash ; 1 line per name to be banned ; * ClientLog, default setting is on (1), set to 0 to stop logging user connects/disconnects ; which also have their ip, time, rate. ; * ClientLogFile, the path and filename of your clientlog file. ; * Cloaking, default setting of (0) off prevents user from using cloak, set to 1 to enable ; * CloakingDrain, set from 0 to 10. Default value is 4, approx drains 4 cells per second ; * MaxClientRate, default is (25000), I've been told a server with a T1 is at it's full load ; with approximately 12 clients at this rate. Settings this value as low as 8000 will keep ; your server healthy and your users won't notice any difference. Recommended you change default value. ; [Misc] Scoreboard=2 timehud=1 rankhud=1 playershud=1 NameBanning=1 MatchFullName=1 BanDirectory=C:/Quake2/sconfig30/ ClientLog=1 ClientLogFile=C:/Quake2/sconfig30/connectlog.txt Cloaking=0 CloakingDrain=4 MaxClientRate=25000 ; Rocket Launcher/Rocket Customization ; ; * RocketVelocity, default value (650), increase or decrease to your preference. ; (Maximum value seems to be around 2000, any higher throws off accuracy of shot) ; * Damage, default value (100), increase or decrease to your preference ; * RadiusDamage, default value (120), damage which takes place within blast radius ; * DamageRadius, default value (120), radius in which blast occurs which causes damage ; * FastRocketFire, default is 0 (off), set to 1 to increase the rocket fire rate ; [Rocket] RocketVelocity=650 Damage=100 RadiusDamage=120 DamageRadius=120 FastRocketFire=0 ; Grenade Launcher Customization ; ; * Timer, default value (2.5), time it takes in seconds before grenade detonates ; * FireDistance, default value (600) ; * Damage, default value (120) ; * Radius, default value (40), radius of blast where damage can be inflicted ; [GrenadeLauncher] Timer=2.5 FireDistance=600 Damage=120 Radius=40 ; Grenade customization ; ; * Timer, default value (3.0) ; * Damage, default value (125) ; * Radius, default value (40) ; * MinSpeed, default value (400) ; * MaxSpeed, default value (800) ; [Grenade] Timer=3.0 Damage=125 Radius=40 MinSpeed=400 MaxSpeed=800 ; Blaster and HyperBlaster customization ; ; * HyperBlasterDamage, default value (15), damage per round of hyperblaster ; * ProjectileSpeed, default value (1000) ; * BlasterDamage, default value (15) ; [Blaster] HyperBlasterDamage=15 ProjectileSpeed=1000 BlasterDamage=15 ; Gun Customizations ; Including Machinegun, chaingun, supershotgun, shotgun, railgun and BFG10K ; ; * ShotgunDamage, default value (4) ; * SuperShotgunDamage, default value (6) ; * MachinegunDamage, default value (8) ; * ChaingunDamage, default value (6) ; * RailgunDamage, default value (100) ; * BFGDamage, default value (200) ; * BFGDamageRadius, default value (1000) ; ------------------------------------------ ; * ShotgunKick, default value (8) ; * SuperShotgunKick, default value (12) ; * MachinegunKick, default value (2) ; * ChaingunKick, default value (2) ; * RailgunKick, default value (200) ; ------------------------------------------ ; * BFGProjectileSpeed, default value (400) ; * FastRailgun, default value is normal speed (0), can adjust to match fire rate of ; rocketlauncher (1), or as fast as the blaster (2). You 'might' want to lower ; the RailGunDamage if you choose to make it fire as fast as the blaster... ; [Guns] ShotgunDamage=4 SuperShotgunDamage=6 MachinegunDamage=8 ChaingunDamage=6 RailgunDamage=100 BFGDamage=200 BFGDamageRadius=1000 ShotgunKick=8 SuperShotgunKick=12 MachinegunKick=2 ChaingunKick=2 RailgunKick=200 BFGProjectileSpeed=400 FastRailgun=0 ; Weapon Banning - When banned weapons cannot be picked up. ; ; * banShotgun, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; * banSupershotgun, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; * banMachinegun, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; * banChaingun, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; * banGrenadelauncher, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; * banRocketlauncher, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; * banHyperblaster, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; * banRailgun, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; * banBFG, default value is NOT TO BAN (0), set to 1 to BAN Weapon ; [BanWeapons] banShotgun=0 banSupershotgun=0 banMachinegun=0 banChaingun=0 banGrenadelauncher=0 banRocketlauncher=0 banHyperblaster=0 banRailgun=0 banBFG=0 ; Frag logging, same format as QuakeWorld ; NOTE: GibStat logging is on by default and found in server.cfg file ; (courtesy of Dave "Mongoose" Feldman, dmf14@cornell.edu for QW Style logging) ; ; *QWStyleLogging, default is off (0), enable use by setting to 1 ; * Dir, default value is blank, which will write the logs in your quake2 root directory ; If you wish to specify a location, first make sure the path is valid and then type ; the complete path with a trailing slash, ie. Dir=C:/logs/ ; (Note: The path for Dir can be up to 80 character's in length) ; * GibStat support, to enable see your server.cfg file, also located in your sconfig30 directory ; [LogOptions] QWStyleLogging=0 Dir=C:/logs/ ; Master/Global Limits and Gravity Setting ; Used in conjunction with cycle.txt file, note these values override any settings set by a ; server.cfg type file and even a command line switch. ; ; * GlobalFragLimit, default is (0) - Set to 0 will assure high scores work. Highscore's ; won't display if the fraglimit is hit. ; * GlobalTimeLimit, default is (30) ; * GlobalGravity, default is (800), set lower more of a weightlessness effect ; [LevelChange] GlobalFragLimit=0 GlobalTimeLimit=30 GlobalGravity=800 ; Start Weapons ; These weapons are what the player will begin with when they enter the level or respawn ; All users start with a Blaster ; ; * ShotGun, default value (0), change to 1 to have player start with this weapon ; * SuperShotGun, default value (0), change to 1 to have player start with this weapon ; * MachineGun, default value (0), change to 1 to have player start with this weapon ; * ChainGun, default value (0), change to 1 to have player start with this weapon ; * GrenadeLauncher, default value (0), change to 1 to have player start with this weapon ; * RocketLauncher, default value (0), change to 1 to have player start with this weapon ; * HyperBlaster, default value (0), change to 1 to have player start with this weapon ; * RailGun, default value (0), change to 1 to have player start with this weapon ; * BFG10K, default value (0), change to 1 to have player start with this weapon ; [StartWeapons] ShotGun=0 SuperShotGun=0 MachineGun=0 ChainGun=0 GrenadeLauncher=0 RocketLauncher=0 HyperBlaster=0 RailGun=0 BFG10K=0 ; Start Items, Join/Respawn with Invulnerability Protect ; By default players do not start the game with anything. ; Valid values are either 0 (do not start with item), or 1 (start with item) ; Most items have time values, setting these values effect gameplay on the entire server ; ie. Quad lasts 30 seconds by default, you can adjust from 10-120 seconds ; Same holds true for times pertaining to Invulnerability, EnvironmentSuit and Rebreather ; ; * QuadDamage, default value is (0), meaning do not start with item ; * QuadDamageTime=30, default value is (30), adjust to meet your needs ; * AutoUseQuad, default value is (0), if starting with Quad, don't use until player activates it ; * Invulnerability, default value is (0), meaning do not start with item ; * InvulnerabilityTime, default value is (30), adjust to meet your needs ; * AutoUseInvulnerability, default value is (0), if starting with Invulnerability, ; don't use until player activates it ; * Silencer, default value is (0), meaning do not start with item ; * SilencerShots, default value is (30), adjust to meet your needs ; * Rebreather, default value is (0), meaning do not start with item ; * RebreatherTime, default value is (30), adjust to meet your needs ; * EnvironmentSuit, default value is (0), meaning do not start with item ; * EnvironmentSuitTime, default value is (30), adjust to meet your needs ; * PowerScreen, default value is (0), meaning do not start with item ; * PowerShield, default value is (0), meaning do not start with item ; ------------------------------------------------------------------------------ ; * RegenInvulnerability, default is (1), set to 0 to disable new players and those ; that have just been fragged to be respawn with invulnerability (indicated by ; the red glow) from 3-10 seconds as specified in the RegenInvulnerabilityTime variable ; * RegenInvulnerabilityTime, default value is (3) seconds, you can adjust up to 10 ; If you set this value below 3, it is the same as setting RegenInvulnerability to 0 (off). [StartItems] QuadDamage=0 QuadDamageTime=30 AutoUseQuad=0 Invulnerability=0 InvulnerabilityTime=30 AutoUseInvulnerability=0 Silencer=0 SilencerShots=30 Rebreather=0 RebreatherTime=30 EnvironmentSuit=0 EnvironmentSuitTime=30 PowerScreen=0 PowerShield=0 RegenInvulnerability=1 RegenInvulnerabilityTime=3 ; Start Ammunition ; If the StartAmmo value is greater than the MaxAmmo Entry value, MaxAmmo setting used ; ; * Bullets, default value (0), adjust to your preferences ; * Shells, default value (0), adjust to your preferences ; * Cells, default value (0), adjust to your preferences ; * Grenades, default value (0), adjust to your preferences ; * Rockets, default value (0), adjust to your preferences ; * Slugs, default value (0), adjust to your preferences ; [StartAmmo] Bullets=0 Shells=0 Cells=0 Grenades=0 Rockets=0 Slugs=0 ; Max Ammunition ; The value you specify should be from 0 to 999. ; ; * Bullets, default value (200) - Machinegun, Chaingun Ammo ; * Shells, default value (100) - Shotgun, SuperShotgun Ammo ; * Cells, default value (200) - Hyperblaster, BFG Ammo and used for 'Cloak' power ; * Grenades, default value (50) - Grenade/Grenade Launcher Ammo ; * Rockets, default value (50) - Rocket Launcher Ammo ; * Slugs, default value (50) - Railgun Ammo ; [MaxAmmo] Bullets=200 Shells=100 Cells=200 Grenades=50 Rockets=50 Slugs=50 ; Health ; ; * StartHealth, default value (100) ; * MaxHealth, default value (100) ; [Health] StartHealth=100 MaxHealth=100 ; (Do not remove this last line, or your server will not finish parsing this file correctly) [END OF CONFIG.TXT SECTION] ** SERVER.CFG file (called from shortcut via +exec server.cfg) ** Note: Your actual server.cfg may have extra parameters, these have been placed to help first time operators start a public server, you can of course use the section below instead to create a new server.cfg file if you so desire. [START OF SERVER.CFG SECTION] // Server Configuration File for ServerConfigMOD v3.2 DM // *************************************************************************** // *** You may need to change the configlocation and cyclelocation values *** // *** from the default values to match with your installation to match *** // *** up with the proper path. *** // *************************************************************************** // // DM FLAG SETTINGS: Change dmflags setting as needed // // DF_WEAPONS_STAY + DF_INSTANT_ITEMS + DF_SPAWN_FARTHEST + // DF_FORCE_RESPAWN + DF_QUAD_DROP + DF_ARMOR_PROTECT // // 4 + 16 + 512 + 1024 + 16384 + 262144 = 280084 // // // 'map' sets the VERY FIRST map, it uses the config.txt file for the // global time/frag and gravity limits. After this first initial map // ends, the next map to be played will be the first entry in the cycle.txt // file. // // stdlogfile set to a non zero value enables GibStat support, it is best to set // this value to 1 to enable logging. // // stdlogname names your GibStat logfile, StdLog.log by default. This file // is written to your root quake2 dir, ie. C:/quake2/StdLog.log, rename // it what you like if you so desire. // // START OF SETTINGS set dmflags 280084 set deathmatch 1 set maxclients 16 set sv_gravity 800 set cl_vwep 1 set configlocation C:/quake2/sconfig30/config.txt set cyclelocation C:/quake2/sconfig30/cycle.txt set stdlogfile 1 set stdlogname StdLog.log map q2dm1 [END OF SERVER.CFG SECTION] ** CYCLE.TXT file ** (used for map rotation, this could have any number of maps in it) The cycle.txt file supports an unlimited listing of maps. The very first map to be played when you start your server must be setup in your server.cfg file. After this first map is over, the game will then use the cycle.txt file. When your Quake 2 server reaches the end of its list, it will automatically cycle back to the type of the list and run down it again. For example make q2dm1 your first map, specified in your server.cfg file. Start your cycle.txt file with q2dm2 and end it with q2dm1. This will assure that it rotates properly. This is the way the default distribution of sconfig is, you do not need to modify and of these settings unless you want to add custom maps (which are also supported). [START OF CYCLE.TXT SECTION] q2dm2 q2dm3 q2dm4 q2dm5 q2dm6 q2dm7 q2dm8 q2dm1 [END OF CYCLE.TXT SECTION] = Top of file, q2dm2 in this case is the very first entry, no leading spaces, carriage returns, etc. = Indicates a carriage return (you hit your enter key, you get carriage return) = Blinking Cursor position should be here before save = End of File, notice no extra spaces or carriage returns with the exception of very last line You can also specify extended options to your maps. The ServerConfigMOD cycle.txt file also allows you to mix and match plain map names with map names with. The extended format would be in this format: mapname,gravitysetting,timelimit,fraglmit,repeat (Again, notice no embedded spaces, tabs or any other character that shouldn't belong) Repeat means, when set to 1 that you will play the map then it will play it again before moving on to the next map in the list. Set it to 2 and it will play it again twice before moving on to the next map in the list, etc... An example cycle.txt file could look like the one above or this one: fact3,400,20,0,0 boss2,300,20,0,0 biggun,400,20,0,0 city3,400,20,0,0 Or any variation, like the one shown below: fact3 boss2,300,20,0,0 biggun city3,400,20,0,0 In the last above example, fact3 and biggun would use the default global gravity settings you set in the config.txt file. boss2 and city3 would use the gravity settings 300 and 400 respectively. ** BANLIST.TXT file (Used to ban unwanted names) ** The banlist.txt file can hold any number of names you want to be banned. This will prevent users with names that contain the banned name (string of text ) from connecting to your server at all. To go a step further, if a player enters the game and attempts to change their name the server will not allow it. The server performs this extra check to prohibit users connecting to the site under one name and changing to the banned name or a name which contains banned text. This way you don't need to ban the IP, just the name, most players are fixated on their name and won't be too happy to play without it on your servers and wreak havoc. ;-) IP Banning will be coming soon. You'll be able to ban everyone, allow everyone and specify who you want to be banned or allowed depending on your needs. A `sv kick' routine will also be built in allowing you to boot the user as well as ban their IP all in one step. In the config.txt file under the [Misc] key, you'll see the following settings which relate to name banning: NameBanning=1 MatchFullName=1 BanDirectory=C:/Quake2/sconfig30/ Here is the sample banlist.txt file: [START OF BANLIST.TXT SECTION] ModifyAsYouSeeFit [END OF BANLIST.TXT SECTION] This file, by default, along with the default config.txt file will ban users with the exact matches of `ModifyAsYouSeeFit'. If you have NameBanning set to (1), meaning active, the banlist.txt file must contain at least one name to function properly. When set to off (0), obviously this file doesn't matter. You can alter the MatchFullName setting from 1 (exact match) to 0 (partial match) as well. If MatchFullName is set to 0, by taking the above example and default banlist.txt file text of `ModifyAsYouSeeFit' anyone that connects with `ModifyAsYouSeeFit' in their name cannot use this name to connect or use during a game. Ie. `User ModifyAsYouSeeFit' or `ModifyAsYouSeeFit User' would also be banned from connecting. =-=-=-=-=-=-=-=-=-=-=-=-= If anyone has any bug reports, questions, suggestions or just to let me know their site is now running ServerConfigMOD, let me know. I can be reached at sconfig@quake2.com. Thanks to all those authors, users, server operators, the id team, QDeveLS, Zoid, ThreadZ, SteQve and many, many others for contributing to the development in one way, shape or another to sconfig. Now, where is that Q3 source? ;-)