Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Server Installation
- Quick Install
- A quick install of the GTV server involves two steps:
- Extract the .zip into your Quake 3 directory. Make sure
- that "extract with path names" is turned on. A
- subdirectory called "gtv3" should be created.
- Look in the gtv3 subdirectory for a file called "gtv.cfg".
- Open this file with notepad or your favorite text editor.
- Edit the options in the "Quick Setup" section.
- You can now run gtv.exe in your Quake 3 directory. Also see
- Admining GTV and Common Tasks
- Advanced Install
- GTV requires the following things to operate correctly. This
- section will describe the how to setup these requirements.
- Requirements:
- Access to the Quake 3 pk3 files (pak0.pk3, pak1.pk3, etc)
- A "gtv3" subdirectory
- A valid Quake 3 CD key
- The GTV configuration file (gtv.cfg)
- Access to the Quake3 pk3 files: GTV needs to access all of
- the standard Quake 3 pk3 files. If GTV is run in the same
- directory as quake3.exe it should be able to access these
- files without further information. To run GTV in a
- different directory, or if GTV is not able to find the pk3
- files for some reason, you can specify the location of the
- pk3s with the fs_basepath option. Use the command: "+set
- fs_basepath your_quake3_dir_here" on the command line (see
- Command Line for more information).
- A "gtv3" subdirectory: Once GTV knows the location of your
- Quake 3 directory it must be able to find the correct
- configuration files. Create a directory under your Quake 3
- directory called "gtv3". This is where GTV will store
- configuration and other information.
- A valid Quake 3 CD key: If GTV can find your quake 3
- directory correctly, it will attempt to use the file
- "q3key" in the baseq3 directory. If you would like to use
- a different CD key to connect to servers, create a file
- called "q3key" in the gtv3 directory, and place your CD
- key in it.
- The GTV configuration file: GTV looks in the "gtv3"
- directory for a file called "gtv.cfg". This file contains
- all of the information GTV requires to run. Before running
- GTV for the first time, this file must be edited and at
- least the options in the "Quick Setup" section changed.
- Most people will want to look through the "Advanced
- Options" as well. This configuration file follows the
- standard Quake 3 .cfg format (see Relationship to Quake 3
- for more information).
- Running the GTV Server
- This section is mostly background information, read Admining
- GTV and see Common Tasks for step by step practical
- instructions.
- Admining GTV
- Admining GTV is fairly straight forward. Think of GTV as a
- normal Quake 3 server. It just happens to be able to connect
- to other servers. To get GTV setup so that other people can
- watch the game the normal sequence of events is:
- Setup and run GTV
- Connect to GTV
- Use the gtv_admin command to become an admin
- Connect GTV to the server
- Become cameraman
- Tell others to connect
- The normal way to admin GTV is to connect to it with Quake 3
- and issue commands. This allows you to control the camera.
- Most commands can also be issued in the GTV console, however
- you will need to find someone with Quake 3 to do the camera.
- Once you have GTV connected to a server, you might be
- wondering, what next? You need a way to control what people
- connected to GTV see. This is where the camera comes in, see
- Becoming Cameraman.
- GTV Chains and Redirection
- To create a GTV chain simply connect one GTV server to
- another one. The "master" GTV server (the first one in the
- chain) controls what the users of every other GTV server in
- the chain see. The master server is the only one with a
- "camera man". By chaining GTV servers together around the
- world, its possible to distribute the bandwidth and CPU
- processing requirements of serving 1000s of users. Large
- chains can be a bit complex, so this section is intended for
- people doing the setup of a chain, for people wishing to
- join a chain and mirror a match see Common Tasks: Chaining
- GTV.
- The best setup for a gtv chain is: one private gtv server at
- the event, one "master" gtv server that connects to the one
- at the event and is passworded. After that other mirror gtv
- servers that know the password can connect to the master
- gtv. This is good for several reasons... you can have
- multiple gtv servers at the event, and because there is only
- one master server you can switch between them easily.
- Redirection also works well with this setup. Redirection is
- an experimental feature that will redirect people connecting
- to one gtv server to a different gtv server Eg. someone
- tries to connect to the master gtv, but its full, so the
- master looks at all the gtv servers connected to it and
- chooses the one that is "most empty". This way only one gtv
- server IP needs to be posted, and gtv servers in the chain
- are automatically load-balanced. Since redirection is still
- an experimental feature, and does not work for people behind
- NAT routers, I would recommend posting all gtv server IPs,
- and recommend to people that they try the master IP first.
- The master server also needs some settings changed in the
- gtv.cfg, see the large events section. This is the short
- explanation of chaining, if you have other questions contact
- me.
- Relationship to Quake 3 (and Command Syntax)
- GTV is based on the Quake 3 server. So many commands that
- work in Quake 3 will work in GTV, like rcon, set, reset,
- etc. Commmands can be entered in the normal way, using the
- Quake 3 console once you have connected to a GTV server. If
- you have run a Quake 3 server most of this will be familiar.
- Many of the settings (cvars) for Quake 3 servers are the
- same for GTV (Eg. sv_maxclients, rate, sv_maxrate, etc).
- Rcon works in the standard Quake 3 way.
- In the configuration file you can use any of the commands
- listed in Console Commands. All cvars you want to set must
- be set using one of set, sets, or setu. Commands should be
- placed on separate lines.
- Command Line
- The GTV command line is useful for overriding cvars in the
- config file, and executing additional config files. Commands
- on the command line are separated with the "+" character,
- each "+" counts as an enter.
- eg. gtv +set fs_basepath c:\quake3 +set com_zonemegs 64
- +exec server.cfg
- In addition there are some cvars that can only be set on the
- command line. The most important ones are:
- com_zonemegs: This is the main kind of memory that GTV
- uses. If you find you are running out of memory set this
- variable higher. The default value is 32.
- fs_basepath:Use this to specify the location of your Quake
- 3 directory.
- Console Commands
- The following commands are available from the console,
- config files, or rcon:
- set [name] [value]
- This command sets the cvar "name" to "value". Value can be
- either a number or words.
- setu [name] [value]
- Same as set, except the cvar is flagged as USERINFO and is
- sent to the server during connect
- sets [name] [value]
- Same as set, except the cvar is flagged as SERVERINFO and
- is sent to clients, and people viewing the server in a
- server browser such as Gamespy.
- exec [name]
- Reads the file "name" and executes the commands in it as
- if they were typed into the console.
- quit
- Causes the server to exit back to the command prompt.
- Choosing a Maxclients
- Bandwidth: Since GTV is a server, your hosting capacity
- depends mostly on your upload bandwidth. Upload requirements
- can either be estimated to be 50kBit/s per client or
- controlled with the sv_maxrate cvar. Setting sv_maxrate is
- the recommended way to control bandwidth usage. Setting
- sv_maxrate to 5000 will provide fairly smooth viewing for
- clients, and require 40 kBit/s (8 x 5000) of upload
- bandwidth per client. Eg. a T1 with sv_maxrate 5000 can
- hold:
- 1,100 kBit/s / 40 kBit/s/client = about 30 clients
- CPU Use: If you have a lot of bandwidth you're likely to run
- out of CPU power long before you run out of bandwidth. Note
- that this has changed drastically from previous GTVs. There
- are a number of ways to tell if your maxing out your CPU,
- note that looking at your CPU use percentage IS NOT ONE OF
- THEM. A GTV server can support 2 clients for every 10Mhz of
- CPU, with NO other processes running.
- eg. PIII 800 can do 800 / 5 = 160 clients
- eg. AMD 1Ghz with other processes taking 50% of the CPU can
- do:
- (1000 - (1000 * 0.50)) / 5 = 100 clients
- There are a couple ways to tell how much CPU you are using:
- If the view in GTV is choppy or "hanging" and you are sure
- you have enough bandwidth, then its probably a CPU use
- problem (it could also be your network q3 settings). If you
- are getting hitch warnings constantly (in the console) thats
- another good sign that your CPU is maxing out. The last (and
- best) way to tell is: do a com_speeds 1 in the console. This
- will spam out a bunch of lines like:
- frame:5515 all: 20 sl: 5 sv: 0 ev1: 5 ev2: 10 cl: 0
- frame:5516 all: 21 sl: 1 sv: 0 ev1: 9 ev2: 11 cl: 0
- frame:5517 all: 19 sl: 6 sv: 0 ev1: 3 ev2: 10 cl: 0
- frame:5518 all: 20 sl: 2 sv: 0 ev1: 8 ev2: 10 cl: 0
- Each number represents the number of milliseconds it took to
- do each task. The only number we care about is all:. If all
- is over 50 for 4 or 5 frames in a row, you need to reduce
- maxclients.
- Note that past 100 clients or so, due to buffering in GTV,
- the CPU use vs number of clients graph flattens out. Past
- 100 the CPU use guide line is more like 3 or 4 clients per
- 10 Mhz.
- Common Problems
- Unable to Bind Socket Error
- This error can be caused by several things. The first and
- esiest to check is that the port number you specified is
- not already in use. Try running gtv with +set net_port
- 29345 (or some other port number) on the command line.
- If the error also states that GTV is running out of
- memory, the commands below may help. Since GTV is a high
- bandwidth application it uses larger than normal socket
- buffers to handle large spikes in traffic. Several
- flavours of unix are not able to handle larger buffers by
- default; these commands will increase the maximum size.
- sysctl -w kern.ipc.maxsockbuf=8388608
- sysctl -w net.inet.tcp.rfc1323=1
- sysctl -w net.inet.tcp.sendspace=1048576
- sysctl -w net.inet.tcp.recvspace=1048576
- Also see the net_sendBuffer and net_recvBuffer cvars in
- gtv.cfg.
- Using GTV
- How to connect
- To connect to GTV you need the current version of Quake 3,
- 1.29. If you play on the net at all you probably already
- have this. NO other client is required.
- To connect to GTV:
- Write down the IP and PORT of the server you wish to
- connect to
- Run Quake 3
- Press ` to bring down the console
- Type the command \cl_allowdownload 0 and press enter
- Type the command \connect IP:PORT, where IP and PORT is
- the server address you wrote down in step 1.
- You should now be connected to GTV. Use the gtv_watch
- command to watch a game (if one is available).
- There is always a list of current GTV servers at
- www.gamerstv.net, you can get IPs and PORTs there.
- GTV also works with server browsers, so you can enter the ip
- and port into your favorite server browser and use it to
- connect.
- If you are running GTV on the same computer as your Quake 3,
- use the ip "127.0.0.1". Eg. assuming the default port of
- 27970 the command would be \connect 127.0.0.1:27970 in the
- quake 3 console.
- Commands
- Once you are connected to a GTV server, these commands are
- accessible by bringing down the console (use the ` key). All
- commands typed into the Quake 3 console must be preceded by
- a \. This simply lets Quake 3 know you are typing in a
- command instead of trying to say something.
- Normal Commands
- gtv_nextgame
- Moves you to the next game, causing a new map to load,
- or reload the current one. This will only move to a game
- from a different server, it will not switch between
- views of the same game.
- gtv_nextview
- Takes you to the next view for the same game, the map
- will not reload. GTV must be connnected to the server
- two or more times for this to work.
- gtv_watch [gameNumber]
- Use this command to change to a specific game. If you
- are in the waiting room; available games are listed in
- the center of your screen. Games are also available with
- the \gtv_gamelist command.
- gtv_help
- Lists all the gtv_ commands.
- gtv_admin [password]
- Use this command to become an admin of the GTV server.
- This command also allows you to watch restricted games
- (like the non-delayed stream).
- gtv_camera [password]
- This command has several effects depending on where you
- use it. Using this command will give you access to
- \gtv_watch restricted (non-delayed) games. Once watching
- a game, this command will give you control of the
- camera.
- gtv_playerlist
- Lists everyone on the GTV server.
- gtv_status
- Displays general information about the gtv server, like
- number of clients connected.
- gtv_gamelist
- Displays a list of all games you can watch. The numbers
- displayed before each game can be used with \gtv_watch.
- gtv_silent
- Turns off "chat beeps" for chat on the q3 server (for
- both players and spectators). Issue this command once to
- turn on and again to turn back off (its a toggle).
- gtv_nospeech
- Will turn off chat from other gtv users, but still print
- chat from the game server. Can be used in conjunction
- with gtv_silent. Issue this command once to turn on and
- again to turn back off (its a toggle).
- gtv_messages
- Turn the display of connect, disconnect, and error
- messages on and off. This is a toggle.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement