Copyright (C) 2000-2012 |
Manpages bzfsSection: Games and Demos (6)Index Return to Main Contents NAMEbzfs - BZFlag game serverSYNOPSISbzfs [-a velocity rotation] [-b] [-c] [+f {good|flag-id}] [-f {bad|flag-id}] [-g] [-h] [-help] [-i interface] [-j] [-lagwarn {time/ms}] [-mp {count|[rogue-count],[red-count],[green-count],[blue-count],[purple-count]}] [-mps {max-score}] [-ms shots] [-mts {max-score}] [-p port] [-noudp] [-passwd password] [-public description] [-publicaddr address[:port]] [-publiclist url] [-q] [+r] [-r] [-requireudp] [+s flag-count] [-s flag-count] [-sa] [-st time] [-sw count] [-synctime] [-t] [-time time-limit] [-ttl ttl] [-version]DESCRIPTIONBzfs is the server for BZFlag, and it must be running to play. It can be run on any system on the network (including a player's system or one without graphics). Terminating the server terminates the game in progress.Options
NotesThe server uses nearly zero CPU time when nobody is playing, and even during a game the server uses very little CPU, so it's not a burden on the system to leave one running and it won't interfere with a player using the same system (except on Windows 95, which really sucks at multitasking). The server will continue to run until terminated. If a game is in progress when the server goes down, all players will be kicked off and the game will be aborted without warning. The server resets itself when all players have quit. All players must quit to reset the server when a game is over (because of a score or time limit).The following game styles are recommended starting points.
Notice that the maximum number of shots for these styles is one. Having only one shot greatly increases playability and learning speed. Multiple shots decrease the required skill level and make it virtually impossible for even a skilled player to avoid getting shot for any length of time. More experienced players will still dominate the game, but beginners will have an easier time making kills. NetworkingCommunication between the server and clients (i.e. between bzfs and bzflag) during a game is via TCP. Use the -help option to get the server's default port. If there's a firewall between the server and client, the firewall must accept connections from the client to this port and forward them to the server. See bzfrelay for a BZFlag firewall relay.Clients can search for servers by sending and receiving multicast UDP packets. For a client to discover a server, there must be a multicast route between them with fewer hops than the default TTL (time-to-live) which is 8 or whatever the TTL was set to using the -ttl option to bzflag. However, a client can still connect to a server beyond the multicast TTL. Clients can also find servers advertised using -public by querying bzfls servers. Some communication between clients, such as position and orientation information, is normally sent directly via multicast UDP packets. Other data, like flag grab and kill messages, are sent to the server via TCP which then turns around and broadcasts it to all players via TCP. Since being in a game implies connection to the server, all players are guaranteed to get all messages sent via TCP. But the multicast UDP packets may be routed differently. If other players can see your tank in the game but it never appears to move and shots go through it, chances are high that your multicast packets are not getting routed correctly. BZFlag will, upon connecting to a server, attempt to contact the server via multicast. If it gets a reply then multicasting is used for the duration of the game. If it receives no reply then it falls back to using the TCP server connection to transmit player-to-player packets. The server will broadcast these packets to the other players and send any multicast player-to-player packets to the player via TCP. This normally solves any communication problems at the expense of higher network traffic. However, there still may be problems if you can multicast to the server but not to some other players. The first thing to check is that multicast packets are being sent on the right interface. By default, multicast packets are sent on the first multicast capable interface. This is normally the right choice, but if your system has more than one network interface (other than the loopback interface), then you may have to use a different interface. A typical scenario of this situation is a remote system connected via ISDN to a main network. Use netstat -i to list your interfaces, then use the -interface interface option to bzflag, replacing interface with the correct interface IP address. The next thing to check is the TTL (time-to-live) on the client. By default it is 8. This means all other players must be no more than 8 hops (multicast routers) away. You can use a TTL as high as 255. Since sites are recommended to not forward multicast packets with TTL's below 32 outside the site, you cannot normally play BZFlag across the Internet unless you set the TTL above 32. If any player joins the game using a TTL greater than everyone else, then the server and all clients automatically begin using the higher TTL. This helps ensure that everyone can see everyone else, but, due the nature of the network geometry, this cannot be guaranteed. If the TTL is high enough, check the multicast network. You must have a multicast router between all subnets from your subnet to every other subnet with a player. If all players are on the same subnet then no multicast router is required. Since multicast routers connecting a site to the Internet normally prevent packets with TTL's below 32 from going out onto the Internet, you can't normally play BZFlag across the Internet if the TTL not above 32. However, you may be able to create a multicast tunnel, a virtual point-to-point link between any two subnets on the Internet. You'll need to run a tunneling router at both ends of the tunnel. See mrouted for more information about a multicast router. SEE ALSObzflag(6), bzfls(6), bzfrelay(6), mrouted(1)
IndexThis document was created by man2html, using the manual pages. Time: 05:43:01 GMT, April 20, 2024 |