Table of Contents |
Introduction |
For those of you that have never heard of a "Ring" mod for Quake, I will explain what this mod is for. Have you ever tried to run a 3 on 3 game in Quake 2? Have you had to tell people to suicide so they aren't packing all the weapons and ammo? Now what do you do about that negative frag count? And what is that guy in the Snork model doing standing by the BFG waiting for someone to broadcast "GAME ON!" so the match can begin?top
This mod is about creating a controlled environment for match play in the Quake 2 game. The most important thing is that the mod not interfere with normal Free-For-All games and only come into play when needed as a match/teamplay server.
Many of the server functions are controlled by individuals that have Admin status on the server. If there are no Admins around, an Admin can be elected from the current players. The important things to configure for a match are the time limit, what powerups will be available, and what team everyone is on. After that, everyone declares that they are ready and the server counts down to the start of the match. Details on the two server modes are listed below.
Features |
top
- runs normally as a Free-For-All server
- customizable two line Message Of The Day
- Admin control of powerups, Match time and frag limits
- Admin can be elected from current players
- server can be locked down while a Match is being set up
- optional respawn protection
- disable of any weapon or powerup in either FFA or Match mode
- Match scoring handled automatically
- up to 16 teams in Match mode
- team names up to 12 characters long
- Match times from 5 to 60 minutes
- players disconnected during a match can reconnect with the "ghost" command
- items picked up in the waning seconds of a match, respawn when the match ends
Walk-Throughs |
top
- Client in a Match
To be a client in a match on a Q2Comp server is quite simple. I will be assuming that the server is all set up and ready for the clients for this example. After you connect, you will either be connected as a Spectator or as a normal player.
If you start as a normal player, you will be able to run around the map, but you will not be able to pickup any items, nor will you be able to cause or take damage. If you do end up stuck somewhere, you will need to use the Quake 2 "kill" command at the console. If you want to spectate the match, you have two choices. You can press the [Tab] key and bring up the Q2Comp Main Menu and then select "Observe Game". Alternativly, you can bring down the console and enter "observer" and you will become a spectator.
If you start as a spectator, your HUD will not have the usual player information, but the single word "Spectator". You will also see the Q2Comp Main Menu in front of you. You can press [Tab] or [Esc] to exit the menu at any time. With the menu out of the way, you can either press the "attack" key (that's mouse1 for me) or enter the "player" command at the console. You will now be a player in Rally mode.
If you have your name and model/skin set, you now need to set your team. At the console, type "team [name]" where "name" is the name of the team that you want to be on. All other clients with the same team name are on the same team. You can change your team name anytime you want before you select "ready".
Optional: Ghosting. Sometimes during a match, a player can become disconnected due to any number of reasons (such as ISP timeout, sibling picks up the phone, etc.). Normally, you would not be able to rejoin the game, much less pick up where you left off. As of version 0.35 of Q2Comp, a feature has been added to allow you to reconnect. The concept is called "ghosting" and you use the "ghost" command to make it happen. The server admin MUST have the CVar "connectasspec" set to 1 to allow reconnecting via the "ghost" command. Without that CVar, noone will be allowed to reconnect to the server. You pick your own ghost code and it can be made up of letters or numbers. At the console, enter "ghost [yourcode]". This sets your GhostCode for the match. As you play in the match, the Ghost will be updated with your score and stats after every frag or death. If you become disconnected during the match, reconnect to the server. The re-entry into the game *should* happen automatically, but in case it doesn't, you will start as a Spectator. At the console, enter "ghost [yourcode]" and the server will look for your ghost and reconnect you if it exists. All ghosts are removed at the end of the match, so you must set your GhostCode again after each match.
At this point you should be ready to start the match. To tell the server this, bring up the Q2Comp Main Menu and select "Declare 'Ready'" or enter "ready" at the console. Once everyone has done this, there will be a 30 second countdown before the match starts. If you want to change your team name during Rally Countdown mode, you must first declare yourself Not Ready via the Q2Comp Main Menu or with the "notready" console command. This will remove you from your current team and stop the countdown. Make any changes that you want, then declare yourself "ready".
Once the 30 second countdown ends, all players will be gibbed, scores reset to 0, and the match begins. The match will go until the Frag or Time limit is hit, then everyone will be gibbed and the results displayed. Bring down the console to see your personal stats for frags, enemy kills, friendly kills, and deaths.- more coming...
Server Modes |
top
- FFA - Free-For-All
For the most part, Q2Comp does not interfere with a server in FFA mode. It lets the normal Quake time and frag limit settings and skin/model settings control how the server and players act. To switch the server out of FFA mode and into Match mode, you need to be an Admin.- Match - Team Competition
When a Q2Comp server is in Match mode, there are actually three distinct segments of Match mode: pre-Match rally time, counting down to the Match, and Match in progress.
While the server is in either pre-Match rally time or counting down to a Match, players are not able to pickup any items, nor able to damage one another. Consequently, players that become stuck in lava, slime, water, or under platforms, will take no damage and may need to suicide in order to remove themselves from that situation. It is during this time that someone with Admin status should be configuring the server for the upcoming match by setting the time limit, powerups, and other details. It is up to the individual players to set their teams and make sure that others on the team have selected the same team name.
Once everything is configured, players can begin declaring themselves ready for the match. Up until the last second before a match starts, any player can declare him/herself not ready, and stop the countdown. When the match begins, every player is gibbed (to remove all weapons and powerups) and his/her score reset to zero.
The match begins and all players are goverend by a combination of server and Match settings. The server displays the time remaining in the match every minute as well as does a countdown of the remaining seconds. When the time is up, every player is gibbed, a winner is declared (or a list of the tying teams), and the server resets back to pre-Match rally mode.
Server CVars |
These CVars can be changed at anytime at the server's console.top
- admincode - default = "qwerty"
"admincode" holds the code that a normal player must enter in order to become an Admin. This CVar can hold letters or numbers and defaults to "qwerty" if no admincode is specified. See the admin and elect commands.- adminkick - default = 3
"adminkick" is the number of invalid attempts that a normal player can try for the Admin code using the admin command before being kicked from the server. It defaults to 3 if this CVar is not set. See the admin and elect commands.- adminname - default = ""
Enter the name/nickname of the server's administrator in "adminname". This will be displayed by the "contact" command.- connectasspec - default = 0 - valid = 0 or 1
Setting this CVar to 1 starts all clients as Spectators. This CVar MUST be set to 1 if you want to allow players to reconnect during a match via the "ghost" command.- electlimit - default = 0 - valid = 0+
"electlimit" controls how many times a client can request and fail at becoming an Admin before being banned from the elect command.- email - default = ""
Enter the e-mail address of the server's administrator in "adminname". This will be displayed by the "contact" command.- fastweap - default = 0 - valid = 0 or 1
If you want to enable Fast Weapon switching, set "fastweap" to 1. The default of 0 is normal Quake 2 weapon switching speed.- ffadisable - default = 0
The CVar "ffadisable" holds a number that determines what weapons and powerups are to be disabled in FFA mode. The following are the items and their numeric values, similar to DM Flags.
Quad 1 Invulnerability 2 BFG 4 RailGun 8 HyperBlaster 16 Rocket Launcher 32 Grenade Launcher 64 Grenades 128 ChainGun 256 Machine Gun 512 Super Shotgun 1024 Shotgun 2048
The numbers are added together and will affect the items on the level. If this value is changed, then the server must be restarted. For example, to disable the Quad, Invulnerability, and BFG, you would set "ffadisable" to (1 + 2 + 4 =) 7.- fullweaprally - default = 0 - valid = 0 or 1
Setting "fullweaprally" to 1 gives all clients all weapons during Rally mode. This does not work in FFA mode.- initialmode - default = "ffa" - valid = "ffa" or "match"
To set the initial mode of the server, set "initialmode" to either "ffa" for Free-For-All mode or "match" to start in Match mode. If nothing is specified, or an invalid mode is specified, the server will default to FFA mode. To switch between the FFA and Match modes, see the modeset command.- lockcurrmode - default = 0 - valid = 0 or 1
If you want to lock the server into Match mode, set this CVar to 1. When the server is in Match mode and no matches or level changes happen for 10 minutes, the server will reset to FFA mode. Set to 1, it will reset back to Match mode. This CVar has no effect on FFA mode.- logging - default = 0 - valid = 0, 1, or 2 - NOT FUNCTIONAL
NOT FUNCTIONAL- mapcycle - default = 0 - valid = 0 or 1
This CVar controls map cycling in FFA mode (not much point to it in Match mode). When set to "1", the server will cycle to the next map in the "maplist" CVar.- maplist - default = "" - valid = list of maps on the server
List the maps that you want the server to cycle through in FFA mode, separated by spaces. eg.
set maplist "q2dm1 q2dm3 q2dm8 match1"- matchdisable - default = 0
The CVar "matchdisable" holds a number that determines what weapons and powerups are to be disabled in Match mode. The following are the items and their numeric values, similar to DM Flags.
Quad 1 Invulnerability 2 BFG 4 RailGun 8 HyperBlaster 16 Rocket Launcher 32 Grenade Launcher 64 Grenades 128 ChainGun 256 Machine Gun 512 Super Shotgun 1024 Shotgun 2048
The numbers are added together and will affect the items on the level. If this value is changed, then the server must be restarted. For example, to disable the BFG, RailGun, and HyperBlaster, you would set "matchdisable" to (4 + 8 + 16 =) 28.- maxspecs - default = 4 - valid = 0 to maxclients
"maxspecs" works in the same way as "maxclients" but the spectator count is also a part of the player count. That is, if "maxclients" has been reached, no spectators can connect even though they may be under the "maxspecs" limit. For Match games where "connectasspec" is set to 1, it is best to set "maxspecs" to "maxclients" otherwise you won't be able to connect your players.
set maxclients 12
set maxspecs 12- motd1 - default = "Welcome!"
- motd2 - default = ""
"motd1" and "motd2" hold the two Message Of The Day lines. If you set these to more than about 40 characters in each line, they will be chopped off. See the "motd" command.- noelect - default = 0 - valid = 0 or 1
Setting "noelect" to 1 disables the elect command. If this CVar is not set, it defaults to 0. See the elect command.- nolockdown - default = 0 - valid = 0 or 1
Setting "nolockdown" to 1 disables the "lockdown" command. If this CVar is not set, it defaults to 0. See the lockdown command.- nowarp - default = 0 - valid = 0 or 1
To disable the warp command, set the "nowarp" CVar to 1.- protect - default = 0 - valid = 0+
If you want to enable give each player a number of seconds of Invulnerability after they respawn, set the "protect" CVar to a positive number representing the number of seconds.- resetmap - default = "q2dm1"
When the server is deserted the server will change to the map in the CVar "resetmap". This CVar should be set to one of the id maps. This will prevent the situation when the first person that connects to the server and doesn't have whatever custom map the server is on, being forced to download a map they don't want or need just to connect.- scorecast - default = 0 - valid = 0 or 1
Setting "scorecast" to 1 broadcasts the current scores of the teams/clans in the current match every minute.- vwep - default = 0 - valid = 0 or 1
Setting "vwep" to 1 enables the El Nino/Visible Weapons code.
Commands |
Most of the following commands can be done from the Q2Comp Main and Admin menus. These menus can be accessed by pressing the [Tab] key (or whatever you have the "inven" command bound to). The "[" and "]" keys ("invprev" and "invnext") move the cursor on the menu and [Enter] ("invuse") key selects. [Esc] exits the menu system. Please take a moment to familiarize yourself with the Q2Comp Menu System, especially if you are an server Admin.[AMF] - restriction indicators - A = must be an Admin; M = Match cannot be in progress; F = cannot be used in FFA mode
- admin code - [---]
The "admin" command is used when a player wants to become an Admin and knows the Admin code. If you enter the Admin code incorrectly, you are warned, and the server begins to count the invalid attempts. If your invalid attempts are greater than the CVar adminkick, you will be kicked from the server. If you are succesful, you will be granted Admin status and all players on the server will be notified. Admin status lasts for the current level. If the level changes or the server is reset, all Admins will be reset.
This command must be done at the console.- boot name - [A--]
"boot" is used by Admins to kick clients from the server. You must type the exact name with the proper case for it to work.
This command must be done at the console.- commands - [---]
This command will list all valid Q2Comp commands.
This command must be done at the console.- contact - [---]
"contact" will display the Contact menu showing the Server Admin's contact info and the Message Of The Day, using the "adminname", "email", "motd1", and "motd2" CVars. This command can be done from the Q2Comp Main Menu.- credits - [---]
This command will display the Credit menu. This command can be done from the Q2Comp Main Menu.- disable item - [AM-]
- enable item - [AM-]
"disable" and "enable" are used to control items in a Match or in FFA. These options can be controlled for powerups on the Q2Comp Admin Menu Alpha and for items on Admin Menu Charlie. At the console, there are a number of parameters that can be specified.
keyword item(s) none nothing - use "disable none" to allow all items quad Quad Damage inv Invulnerability powerups Quad Damage and Invulnerability bfg BFG rail RailGun hyper HyperBlaster energy BFG and HyperBlaster rl Rocket Launcher gl Grenade Launcher gren Grenades explos Rocket Launcher, Grenade Launcher, and Grenades chain ChainGun mg Machine Gun bullets ChainGun and Machine Gun ssg Super Shotgun sg Shotgun shells Super Shotgun and Shotgun weap all weapons all all items
After these values are set, the server needs to be restarted.- dropquad on/off - [AM-]
While setting up a Match or FFA, you can set the DropQuad DM Flag. This take place instantly and does not require a server restart. This command can be done from the Q2Comp Admin Menu Alpha. For those of you who don't know, when DropQuad is on and a player is killed and he/she has Quad, it drops like a weapon with the remaining time left for anyone to pick up.- elect - [-MF]
To gain Admin status when there are no Admins around, select "Request Admin Status" on the Q2Comp Main Menu or type "elect" at the console to begin the voting process. Other players should vote on the Main Menu or enter "yes" or "no" at the console. A "yes" vote is automatically cast for you. If more than 50% of the current players vote yes, you will be granted Admin rights. In the event of a tie, the vote is defeated. If you succeed, you will be granted Admin status and all other players will be notified. Admin status lasts for the current level. If the level changes or the server is reset, all Admins will be reset.
This command can be done from the Q2Comp Main Menu.- endmatch - [--F]
"endmatch" starts a vote to end the currently running match. If you are an Admin, select "End Current Match" from the Q2Comp Admin Menu Bravo and the match will end immediatly. If you are not an Admin, select "Request EndMatch" from the Main Menu to start the vote. This comes into play when a match gets started and the players notice that a setting is not correct.
This command can be done from the Q2Comp Main or Admin Menus.- ff on/off - [AM-]
The Friendly Fire DM Flag controls whether or not you can harm teammates. This command can be done from the Q2Comp Admin Menu Alpha. The "ff" command allows an Admin to set this DM Flag. With Friendly Fire "on", you can harm teamates. With Friendly Fire "off", you cannot harm teamates. Either way, you can still hurt yourself.- ghost code - [--F]
The "ghost" command allows you to temporarily save your score and stats in a Match so that you can reconnect in case you get disconnected. During Match Rally time, you can enter "ghost [code]" to set your ghost code. This code can be any combination of letters and numbers. If you get disconnected, reconnect to the server. Most of the time, the reconnection will take place automatically. If not, enter "ghost [code]" at the console to rejoin.
The server MUST have the CVar "connectasspec" set to 1 to allow reconnecting via the "ghost" command. Also, "maxspecs" must be set high enough to allow for all players to connect as spectators.
This command must be done at the console.- lockdown on/off - [AMF]
Lockdown is used to prevent players from connecting to the server while a Match is being set up. This is useful when you have the teams all set up and you don't want others connecting and unbalancing the teams. This command can be done from the Q2Comp Admin Menu Bravo. This command can also be issued from the server console by prefacing it with the word "sv".- matchfragset value - [AMF]
"matchfragset" is used to directly set the Match fraglimit while the Match is being set up. You can set the Match fraglimit to any integer value between 0 and 200 frags. 0 frags means there is no fraglimit. This command can be done from the Q2Comp Admin Menu Alpha. This command can also be issued from the server console by prefacing it with the word "sv".- matchtimeset value - [AMF]
"matchtimeset" is used to directly set the Match timelimit while the Match is being set up. You can set the Match time to any integer value between 5 and 60 minutes. This command can be done from the Q2Comp Admin Menu Alpha. This command can also be issued from the server console by prefacing it with the word "sv".- modeset - [AM-]
Use the "modeset" command to switch the server from FFA to Match or vice versa. This command can be done from the Q2Comp Admin Menu.- modstatus - [---]
"modstatus" displays the current status of the Q2Comp mod.
This command must be done at the console.- motd - [---]
"motd" displays the Message Of The Day to your screen. This information can be viewed from the Server Contact Information from the Main Menu.- myscore - [--F]
"myscore" displays your frags, enemy kills, friendly kills, and deaths.
This command must be done at the console.- no - [---]
This commands casts your vote as "no" to the current vote. This command can be done from the Q2Comp Main Menu.- normal - [A--]
"normal" is used to drop your Admin status.
This command must be done at the console.- notready - [-MF]
To stop the countdown to the start of the Match, use "notready". This will stop the timer and remove you from your current team. This does not mean that you have to reset your team name, just that you are not commited to that team in case you want to change it. See the team and ready commands. This command can be done from the Q2Comp Main Menu.- observer - [-M-]
To change from a player to a spectator, use the "spectator" command. This removes you from the game and lets you move around the current map in a "noclip" manner (walk through walls). This command can be done from the Q2Comp Main Menu.
The previous command "spectator" no longer works under Quake 2 3.19 as "spectator" is a client CVar.- player - [-M-]
Changes a Spectator/Observer into a player from the command line. If you are a Spectator/Observer, you can just press the fire button to become a player. This can only be done in FFA or Rally modes. This command can be done from the Q2Comp Main Menu.- playerlist - [--F]
This command lists all the players, their status, team, and skin. This command can also be issued from the server console by prefacing it with the word "sv".
This command must be done at the console.- powerups on/off/quadoff/invoff - [AM-]
While setting up a Match or FFA, you can add or remove the Quad-damage and Invulnerability powerups from the map. You must use one of the four options. This command works for both FFA and Match modes. Items are not removed immeadiatly, so you must restart the server. This command can also be issued from the server console by prefacing it with the word "sv". This command can be done from the Q2Comp Admin Menu.
Powerups can also be controlled by the "ffadisable" and "matchdisable" CVar's.- ready - [-MF]
Once you have selected your team, you can declare yourself ready for the Match. Once all the other players have declared themselves ready, the countdown to the Match will begin. You can inturrupt the countdown or change your team by first using the notready command. This command can be done from the Q2Comp Main Menu.- restart - [AM-]
"restart" is normally used to apply the changes from the powerups setting to the current map. This command can also be issued from the server console by prefacing it with the word "sv". This command can be done from the Q2Comp Admin Menu.- shutup all/specs/off - [AM-]
The "shutup" command is used to silence clients during match setup. It doesn't work during FFA or Match modes. The "all" option allows only Admins to speak, the "specs" option silences Spectators, and the "off" option disables "shutup". This command can be done from the Q2Comp Admin Menu.- team name - [-MF]
Before you can declare yourself ready for a match, you must pick a team name using the "team" command. All players that pick the same team name are consodered on the same team. Team names longer than 12 characters will be chopped off. The "Friendly Fire" server DM Flag controls whether or not you can damage a teammate. Once you have declared yourself ready, you cannot change your team name unless you declare yourself notready.
This command must be done at the console.- timerset n - [AMF]
While in rally mode, you can set the Rally Timer to any value between 5 and 20 minutes. This takes place immeadiatly, so you can use this command to give yourself more time to get a match set up. This command can also be issued from the server console by prefacing it with the word "sv". There is a Q2Comp Admin Menu option to reset the Rally Timer to 10 minutes.- warp map [trust] - [-M-]
During FFA and setting up for a match, the current level can be changed with the "warp" command. If you are not an Admin, this will start a vote. If you are an Admin, the change will happen immeadiatly. Currently, the "warp" command only supports the id Quake 2 maps, DM maps, and the "match1" map. Other maps may be specified by using the "trust" parameter - eg. "warp booga trust" will make the server switch to that map and if it doesn't exist, the server will shutdown. The "trust" parameter only works for Admins that know the Admin code, not elected Admins. The "warp" command can be disabled by setting the nowarp CVar to 1.
This command must be done at the console.- yes - [---]
This commands casts your vote as "yes" to the current vote. This command can be done from the Q2Comp Main Menu.