Help with Private LAN only Server

Need help seting up a server, or have a question on how to run one? This is the place.
Post Reply
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Help with Private LAN only Server

Post by deliot »

I need to set up an exclusively PRIVATE server on my LAN.

I would like to use the GROUPS, PASSWORDS, and USERS files to do this locally. What I haven't found is SAMPLES of the USERS.DB or PASSWORDS.DB files. I've seen samples of the GROUPS.DB file, but not the other, and I have searched everywhere.

BOTTOM LINE:: What format do these two files use? Can anybody share a sample? I need to create these files manually and locally only.

Thanks :)
Dan
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: Help with Private LAN only Server

Post by blast »

Just put the server at blank or non-existent files for each of those and set a admin password. When you /register in the client (local auth), it will create an entry in the passdb. There is also some command for adding someone to a local group (might be /setgroup, but I can't recall). So the only one you have to hand-code is the groupdb.
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Re: Help with Private LAN only Server

Post by deliot »

blast wrote:Just put the server at blank or non-existent files for each of those and set a admin password. When you /register in the client (local auth), it will create an entry in the passdb. There is also some command for adding someone to a local group (might be /setgroup, but I can't recall). So the only one you have to hand-code is the groupdb.
Yea, I already tried that, and the files continue to stay blank. That is, the /register command doesn't write the files. I thought it might be a permissions issue, but similar files in the same folder (such as the banlist.txt and reports.txt files) are getting written just fine.

So I'm after the format of these two other files (passwords, users) so I can write them manually.
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: Help with Private LAN only Server

Post by blast »

If it's not writing to the files, then you're not doing something right. What configuration are you using?
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Re: Help with Private LAN only Server

Post by deliot »

blast wrote:If it's not writing to the files, then you're not doing something right. What configuration are you using?
Well yea... I get that I'm not doing something right :)

Here is my entire config, minus a few things I don't want to say in public. Ubuntu Server...

Code: Select all

#Command line to start...
#
#
#
# /usr/games/bzfs -conf /usr/games/bzflag_files/bzconfig.txt
#
#
#
#



# This is the server welcome message.  Please change it. 
-srvmsg " xxxxx "
-srvmsg " xxxx"

# Define a message which will be broadcast to all players every 15 minutes.
-admsg " ********************************************************************"
-admsg " ********************************************************************"
-admsg " **  xxxxx "
-admsg " **  xxxxx"
-admsg " **  Use /report to report abuse, server issues, etc."
-admsg " ********************************************************************"
-admsg " ********************************************************************"


# Sets the admin password for the server. It is necessary for server 
# administration if no groups are used.
# CHANGE THIS!
-password xyz123

# Enables inertia and sets the maximum linear and angular accelerations.
# The units are somewhat arbitrary so you'll have to experiment to find
# suitable values.  The values must be non-negative and higher values
# yield greater inertia.
# Used to control "Mouse Enhancements"
-a 50 38


## World Map ##
# This specifies the world filename.
# Use this format for Windows
#-world "c:\mymaps\louschurchyard.bzw"
# Use this format for *nix and Mac

#05
#-####CTF:  3 Color
#-world /usr/games/bzflag_maps/3tanks_new.bzw
#-world /usr/games/bzflag_maps/5-glassmiddle.bzw
#-world /usr/games/bzflag_maps/24-BridgesR3.bzw
#-####CTF:  2 Color Red Blue
#-world /usr/games/bzflag_maps/24-CamelotR1.bzw
#-world /usr/games/bzflag_maps/24-IslandHoppingR7.bzw

#10
#-world /usr/games/bzflag_maps/24-LegoLandR3.bzw
#-world /usr/games/bzflag_maps/24-MetropolisR1-5.bzw
#-####CTF:  4 Color Broken base not defined for red??
#-world /usr/games/bzflag_maps/50-kingcastle.bzw
#-world /usr/games/bzflag_maps/50-monsterlab.bzw
#-world /usr/games/bzflag_maps/50-sandblaster2.bzw

#15
#-world /usr/games/bzflag_maps/50-trenchesbridges.bzw
#-world /usr/games/bzflag_maps/BattleofMidwayIsland.bzw
#-####CTF:  2 Color Red Green
#-world /usr/games/bzflag_maps/Capture_The_Bridge.bzw
#-world /usr/games/bzflag_maps/Cloud_City.bzw
#-world /usr/games/bzflag_maps/funparkffa.bzw

#20
#-world /usr/games/bzflag_maps/highways.bzw
#-world /usr/games/bzflag_maps/Knox_V3.1.bzw
#-world /usr/games/bzflag_maps/mental.bzw
#-####CTF:  2 Color Blue Green
#-world /usr/games/bzflag_maps/MiniFortCtf.bzw
#-####CTF:  4 Color Red Green  ############
#-world /usr/games/bzflag_maps/misslewar.bzw
###########################################

#25
#-world /usr/games/bzflag_maps/RainNFrogs-2.0.bzw
#-world /usr/games/bzflag_maps/Silver_Surfers_Map.bzw
#-world /usr/games/bzflag_maps/zbestofz09CTFbunt.bzw
#-world /usr/games/bzflag_maps/FoxBurrowRH.bzw
#-world /usr/games/bzflag_maps/blood_bath.bzw

#30
#-world /usr/games/bzflag_maps/two_tanks.bzw
#-world /usr/games/bzflag_maps/the_citadel.bzw
#-world /usr/games/bzflag_maps/water_decks.bzw
#-world /usr/games/bzflag_maps/urban_combat.bzw
#-world /usr/games/bzflag_maps/aircraft_carrier.bzw

#35
#-world /usr/games/bzflag_maps/stealth_battle.bzw
#-world /usr/games/bzflag_maps/rat_lab_reloaded.bzw
#-world /usr/games/bzflag_maps/laser_tag.bzw
#-world /usr/games/bzflag_maps/mad_city.bzw
#-world /usr/games/bzflag_maps/castles_in_the_sky.bzw

#40
#-world /usr/games/bzflag_maps/prison_playground.bzw
#-world /usr/games/bzflag_maps/castles_to_castles.bzw
#-####CTF:  4 Color
#-world /usr/games/bzflag_maps/hix.bzw
#-world /usr/games/bzflag_maps/juggernaut.bzw
#-####CTF:  2 Color
#-world /usr/games/bzflag_maps/base_wars.bzw

#45
#-world /usr/games/bzflag_maps/water_wars.bzw
#-world /usr/games/bzflag_maps/gasGiant.bzw
#-world /usr/games/bzflag_maps/tgm.bzw
#-####CTF:  2 Color
#-world /usr/games/bzflag_maps/CastleDefense.bzw
#-world /usr/games/bzflag_maps/connectedyetdivided.bzw

#50
#-world /usr/games/bzflag_maps/Fort3.bzw
#-world /usr/games/bzflag_maps/triad4.bzw
#-world /usr/games/bzflag_maps/mad_city_mirror.bzw
#-world /usr/games/bzflag_maps/pirates_v5c.bzw
#-###
#-world /usr/games/bzflag_maps/mad_city_big.bzw
#-###


#55

#-####CTF:  2 Color
#-world /usr/games/bzflag_maps/channel_crossing.bzw
#-####CTF:  2 Color
-world /usr/games/bzflag_maps/missile_war_2.3.bzw
#-world /usr/games/bzflag_maps/decks.bzw
#-####CTF:  4 color No Jumping
#-world /usr/games/bzflag_maps/four_square_ctf.bzw
#-####CTF:  2 Color Blue Red
#-world /usr/games/bzflag_maps/basketball_game.bzw

#60
#-world /usr/games/bzflag_maps/train_station.bzw
#-####CTF:  2 Color No Radar
#-world /usr/games/bzflag_maps/loumans_house.bzw
#-world /usr/games/bzflag_maps/cemetary.bzw
#-world /usr/games/bzflag_maps/king_of_the_world.bzw
#-world /usr/games/bzflag_maps/louman_pandemonium.bzw

#65
#-world /usr/games/bzflag_maps/bzbowl.bzw
#-world /usr/games/bzflag_maps/columns_and_rivers.bzw
#-world /usr/games/bzflag_maps/mad_city.bzw
#-world /usr/games/bzflag_maps/battlezone_rabbit_hunt.bzw
#-####CTF:  5 Color
#-world /usr/games/bzflag_maps/5_team_aztec_ball.bzw

#70
#-world /usr/games/bzflag_maps/temple_of_war.bzw
#-####CTF:  2 Color Purple and Blue
#-world /usr/games/bzflag_maps/battle_for_bz_castles.bzw
#-####CTF:  2 Color
#-world /usr/games/bzflag_maps/stalengrad.bzw
#-####CTF:  2 Color
#-world /usr/games/bzflag_maps/dread_pirate_robert_v2.bzw
#-world /usr/games/bzflag_maps/ancient_and_modern.bzw

#75

#-world /usr/games/bzflag_maps/hepcat_original_ctf.bzw
#-world /usr/games/bzflag_maps/extreme_paintball.bzw
#-####CTF:  2 Color
#-world /usr/games/bzflag_maps/ww1_trench_warefare.bzw
#-world /usr/games/bzflag_maps/overdoze_big_city.bzw
#-world /usr/games/bzflag_maps/desert_war.bzw

#80

#-###
#-world /usr/games/bzflag_maps/airport_2002.bzw
#-###
#-world /usr/games/bzflag_maps/umbrellas.bzw
#-world /usr/games/bzflag_maps/holes.bzw
#-world /usr/games/bzflag_maps/high_rise_havoc.bzw
#-####CTF:  4 Color (broken?)
#-world /usr/games/bzflag_maps/four_team_ctf.bzw

#85
#-####CTF:  2 Color
#-world /usr/games/bzflag_maps/castle_warfare.bzw
#-world /usr/games/bzflag_maps/planet_mofo.bzw
#-world /usr/games/bzflag_maps/blah.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw

#90
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw

#95
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw

#100
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw
#-world /usr/games/bzflag_maps/xxxxxx.bzw


## Random World Generation ##

# This option allows world objects to be randomly rotated. Only applies
# if a randomly generated world is used.
-b

# Enables capture-the-flag style game with a balanced random map. 
# Default is free-for-all style game.
#-cr

# Adds teleporters to the game. for random maps only
-t

# This option controls the building density on random worlds(1-10) 
# Default is 5
-density 5

# This option changes the size of random maps.
# Leave this OFF if using a custom map.  Let the map set the size...
#-worldsize 800

# This option gives buildings random heights.  This is used when
# you are using random maps.
-h


## Game Styles ##

# This enables capture-the-flag style game. Default is free-for-all style.
# Requires one base object for each team to be specified in the world file.
# Can be used with random world generation.
-c

# More than one team-flag may be specified. 
# This is generally not desirable.
# B* - Blue Team   G* - Green Team, P* - Purple Team,  R* - Red Team,
#+f B*
#+f B*

# This sets the maximum number of shots before a reload.  
# Default is 5.
#-ms 5

# This makes most shots ricochet.
+r

# This option allows jumping.
# -j

# This option allows for flags on box buildings.
# Must have jumping to enable this flag, or error.
-fb

# These two flags can be used if they are not specified as options.
# +f R{1} # Ricochet
# +f J{1} # Jumping 



# This option allows tanks to spawn on buildings. This is especially useful
# as tank spawn locations are calculated on the server without the
# advantage of knowing where shots are.
-sb

# By default if a player kills a teammate, he dies too, this option turns this
# off.  Used mostly for capture the flag style games.
#-tk

# Announce team kills to the admin channel.
-tkannounce

# Kick a player if his ratio of teammate to non-teammate kills is this
# percentage or greater.
-tkkr 32

# This option allows you to tell the server how long a team flag remains
# before it is reset after the last player on a team leaves.  
# Default is 30 seconds.
#-tftimeout 60

# Hunt the rabbit game is activated with this option.  
# Use only one of these options.
# Choose rabbit based on score.
#-rabbit score
# Rabbit is chosen by whoever kills the rabbit.
#-rabbit killer
# Or you can choose the rabbit randomly.
#-rabbit random

# It is possible to restrict bots and autopilot from being used on the server.
# This is accomplished with the following.
-disableBots

# This option causes the server to quit after serving one game.  This is
# handy if you want to do a timed game, or script a rotating server.
-g

# This option sets the max score for players.  The game ends when a player
# reaches this score and is declared the winner.
#-mps 100

# This sets the max team score.  The first team to reach this score is
# declared the winner and the game is ended.
#-mts 250

# This dumps the score to console when it changes.
#-printscore


# This sets time limit (in seconds) for the game.  Time starts when first
# client connects.

#60 minutes
#-time 3600
 
#45 minutes
#-time 2700

#30 minutes
-time 1800
 
#20 minutes
#-time 1200

#15 minutes
#-time 900

#10 minutes
#-time 600




# This option requires a timed game to be started using the /countdown
# command to start a timed game.  Default is when first player joins.
#-timemanual


## List server Connection ##

# This is the public message that the server advertises on the public
# server list.  This is required if you want to be shown on the list.
# It often advertises the map you are using.  Keep it short.
#-public "Noo BZFlag Server With Random Map"

# This is also needed to be listed on the public server list.  The
# address needs to be valid in DNS. It's your IP, plus port number.
#-publicaddr 123.456.789.000:5154

# The server will listen on this port.  Default port is 5154.
-p 5154

# Tells server not to respond to "pings". This makes the server private.
# You should remove -public and -publicaddr when using it.
# If your router is open, you can still give people your IP and port, and  
# they will be able to connect, you just wont be on the list.
-q

# You probably don't need to use this, but it is there if you do.  This
# specifies where the server advertises itself.  The built-in default
# should work just fine.  You need to hunt down the proper address if
# it doesn't work. DON'T Change It
#-publiclist <list-server-url>

# Server will listen for and respond to "pings" (sent via broadcast) on
# the given interface.  The server uses the first interface by default.
# This is the TCP/UDP/IP address the server will listen on.
# You don't need to use this unless your server has multiple
# interfaces and doesn't show up on the server lists.
#-i 123.456.789.000


## Player Connections ##

# This requires clients to use UDP (a good thing).  This will generally
# make the server behave better, and make play more smooth.
# This will kick players who are unable to establish a UDP connection
# when they attempt to fire.
-requireudp

# Automatically assigns players to teams when they join so that teams are
# evenly matched in number of players.  Players are placed on teams with
# lowest number of players first, then those with the lowest scores or
# kill ratios.
-autoTeam

# This sets the max number of players.  It can be done in 2 ways.  A flat
# count of players, or by number of players on a given team.
# This allows up to 50 players, no team limits.
# Typical home DSL connections max out at 12 players before lag begins.
# Lag equals players times shots. So a one-shot server could have more 
# players, and vice-versa. 
#-mp 32

# This allows for max player by team.
# The order is rogue, red, green, blue, purple, observer.
#-mp 3,3,3,3,3,3



##########################################################
# Registered player files which will be loaded on startup.
# Use all three if you are not connecting to the list server.
# Players can use /register passwd and  /identify passwd 
# to  confirm their identities. 

# groupdb stores group to permission mappings.
-groupdb /usr/games/bzflag_files/groups.txt

# userdb stores user to group mappings.
-userdb /usr/games/bzflag_files/users.txt

# passdb stores local user password mappings.
-passdb /usr/games/bzflag_files/passwds.txt 

##########################################################



# If you have registered groups at the bzbb forums, only players
# in this group will see your server in the list. 
#-advertise NONE 

# This option kicks the user after they have been idle for a number of 
# seconds. Idle means paused, not-spawning or not-responding.  
-maxidle 300

# Set to not use a UDP connection for players. You typically do NOT want to
# do this (UDP is good!)
#-noudp

# Define a lag threshold over which players with high lag will be 
# announced to the admin channel.
#-adminlagannounce 300

# Define a threshold over which players with high lag will be announced.
#-lagannounce 400

# This option warns the user their lag is too high when it crosses the
# number of milliseconds set.
#-lagwarn 350

# This option kicks players after they have been warned about high lag for
# a certain number of times.
#-lagdrop 3

# Packetloss and Jitter are two different things.
# Packetloss is a percentage of total data being completely lost. 
# A player with packetloss is usually downloading files, switching
# between applications, or simply has a bad connection.
# Jitter is variation in the time between packets arriving, caused by network
#  congestion, timing drift, or route changes. 
# A player with jitter may be purposely manipulating his lag to avoid
# being shot, or to "lag through a wall".
# These next four functions should be used with caution, slower servers
# may wish to avoid using them altogether. 
 
# This option warns the user their packet loss is too high.
#-packetlosswarn 4

# This option kicks players after they have been warned about packet loss 
# a certain number of times.bzflag log
#-packetlossdrop 2

# This option warns the user their jitter is too high when it crosses 
# the number of milliseconds set. 
# -jitterwarn 25##CTF:  RED, GREEN

# This option kicks players after they have been warned about high 
# jitter for a certain number of times.
# -jitterdrop 3

# This option tells the server where to store the ban list. The ban list will
# be loaded from this file when the server starts (if the file exists) and
# written back to the file when someone gets banned or unbanned. If this
# option isn't used the ban list will not be saved.
-banfile /usr/games/bzflag_files/banlist.txt

# This option sets up your ban list.  This is ip masks separated by commas.
# The * character is used as a wild card in range bans. 
#-ban "192.168.1.5,10.10.2.*,10.2.*.*"

#No Master Banlist from the Internet
-noMasterBanlist


## General Options ##

# adds timestamps to every line of the log
#-ts

# -pidfile /path/to/pidfile.txt 
# Specify a file where the server will write its process ID so it may be used for remote administration. 


# This sets the amount of time in seconds that is required to pass between
# two identical messages sent.
-spamtime 15

# This sets the amount of times to warn spammers (see -spamtime) before they
# are kicked.
-spamwarn 3

# Specify a file that contains bad words that will be used when 
# either -filterCallsigns or -filterChat is enabled.
# A multilingual badwords file can be found in source downloads. 
#-badwords /path/to/badwords.txt

# Turn on the filtering of chat messages.  Messages have words provided
# via a  -badwords file are replaced with !@#$%^&* characters.
#-filterChat

# Turn on the filtering of callsigns.  Callsigns are compared against
# bad words provided via -badwords.
#-filterCallsigns

# By default, all filtering is aggressive, matching much more than what
# is strictly listed in a -badwords file for convenience. Providing this
# option will make the -filterCallsigns and -filterChat comparisons
# exact match only.
#-filterSimple

# This forces all clients to use the same time of day.  The time is
# determined by the server's clock.  This disables the + and - keys
# on the clients.
#-synctime



## Player Controlled Functions ##

# This option specifies a help file that will be displayed when the player
# types /help name  
# Maximum length is 50 lines and 120 characters per line
#-helpmsg shock /path/to/shockwavehelp.txt 
#-helpmsg noob /path/to/noobhelp.txt

# You can specify a file so that people can type /report to report problems
# on the server.  The reports are logged in this file.
-reportfile /usr/games/bzflag_files/reports.txt

# You can also use this option to cause the /report to trigger a command
# as well as, or instead of, logging to a file.
#-reportpipe command

# This specifies the number of seconds in which a poll can be vetoed.
#-vetoTime 60

# This specifies the percentage of people required for a successful vote.
#-votePercentage 51

# This is the number of voters required to hold a poll.
#-votesRequired 6

# This is the length of time that players have to vote.
#-voteTime 60


## Flags ##

# This option allows for antidote flags to be available for players who
# get bad flags.
#-sa

# Bad flags are automatically dropped after this many seconds.
#-st 5

# Bad flags are automatically dropped after this many wins.
#-sw 1

# This allows you to limit the number of shots from a particular flag.
-sl GM 10
-sl L 10

# There are two sets of flags. Flags that must be in the world at all times
# and flags that may get generated randomly. in addition. +f specifies flags that
# must be there and -f specifies flags the should never be generated.

# The server will randomly place flags from the following list. 
# To be sure there is at least a certain amount of a flag on the map
# at any given time, you can use the +f option to guarantee a certain
# number of a flag.

# Good Flags
+f A{2}  #  Agility
+f CL{20} #  Cloaking 
+f F{2}  #  rapid Fire
+f G{1}  #  Genocide
+f GM{20} #  Guided Missile
+f IB{2} #  Invisible Bullet
+f L{20}  #  Laser
+f MG{6} #  Machine Gun
+f N{2}  #  Narrow
+f OO{4} #  Oscillation Overthruster
#+f PZ{0} #  Phantom Zone
+f QT{4} #  QuickTurn
+f SB{12} #  Super Bullet
+f SE{2} #  SEer
+f SH{2} #  SHield 
+f SR{2} #  SteamRoller
+f ST{20} #  STealth
+f SW{20} #  ShockWave 
+f T{4}  #  Tiny
+f TH{10} #  THief
#+f US{2} #  USeless
+f V{2}  #  Velocity (high speed)
+f WG{20} #  WinGs 

# BAD FLAGS
#+f B{1}  #  Blindness
#+f BY{1} #  BouncY
#+f CB{1} #  Color Blindess
#+f FO{1} #  Forward Only
#+f JM{1} #  JaMming
#+f LT{1} #  Left Turn only
#+f M{1}  #  Momentum
#+f NJ{1} #  No Jumping
#+f O{1}  #  Obesity
#+f RC{1} #  Reverse Controls
#+f RO{1} #  Reverse Only
#+f RT{1} #  Right Turn only
#+f TR{1} #  Trigger happy
#+f WA{1} #  Wide Angle

#  Using "+f good" is the equivalent of doing +f for each of the good flags. 
# If you want to restrict a certain flag, you can use the -f option.
# just like with the +f option.  "-f bad" is the same as doing -f for
# all of the bad flags.  
-f bad  #no bad flags
+f good #one of each good flag
#-f G    #no genocide

# For world weapons, a flag may be enabled, without placing it on the ground.
# by using the flag's switch, without a bracketed number.
#+f SW

# Use +s to have the server generate a certain number of extra flags
# and have them available at all times. This is in addition to 
# any other flags specified.
+s 30

# The server will have up to this many super flags at any time.
# Use this if you don't use any other method of flag generation.
#-s 30


## Variables ##

# There are three ways to load sets of server-specific variables.
# They can be specified in this .conf file.
# They can be specified in the .bzw map file in an options block.
# Or they can be specified in a third file with this option
#-vars /path/to/vars.txt

# Server variables can also be modified in-game using 
# /set _varName value
# View the entire variable list by using 
# /set    (with nothing afterward) lists all vars
# /diff will list most non-default settings
# /?    will list other available commands

# Here are a few examples of variables.
# Some variables are set to 0 for off, 1 for on. 
#-set _obeseFactor 12
#-set _skyColor grey44
-set _wingsJumpCount 3
#-set _tankExplosionSize 60
#-set _jumpVelocity 20
#-set _squishTime 7
#-set _mirror grey22
#-set _wallHeight 2
#-set _shotsKeepVerticalVelocity 1
#-set _drawGround 1
#-set _drawSky 1
#-set _drawClouds 0
#-set _drawMountains 0
#-set _fogMode exp
#-set _fogColor black
#-set _fogDensity .01
#-set _rainType bubble


## Plugins ##

# Plugins have mostly superseded patches as a means of modifying
# the play of BZFlag servers. Recent improvements in the bzfs2.0.9 have enabled 
# almost every server functionality to be modified with the plugin API.
# 
# Plugins cannot be accessed unless you compile your plugins and  
# bzfs binary with the option --enable-shared 
#-loadplugin /path/to/playHistoryTracker 

## Replay ##

# You can set up a server for replay mode by entering this option
#-replay

# This option sets the recording buffer to the specified amount of megabytes.
#-recbuf 2

# This option sets the directory to look for and save recordings.
#-recdir /path/to/recordings


## More Comments ##
# An excellent conf builder exists at this location  
#  http://groupdb.links-clan.net/bzfs_conf.php

# This is intended to include the minimum options for a working 
# BZFlag server, that is also connected to the list server.
# All you need to do is edit your IP numbers in -publicaddr
# and start bzfs.
# As it connects to the list server, your terminal will show 
# something that looks like a player has joined, then immediately left. 
# When you see that happen, you have succeeded, and are listed.
# If you can not connect to the list server, you probably need to open  
# port 5154 through your router, for both UDP and TCP. Instructions for that
# are not included here.

# You join your server locally, by opening your BZFlag game client  
# and editing these lines in the JOIN GAME screen.  
# In the SERVER line add  localhost 
# In the PORT line add     5154
# Then JOIN your server.

# Here are the short instructions.
# Open your router firewall at port 5154
# Change the -publicaddr line in this .file to match your IP.
# In your terminal, cd to the location of the bzfs binary.
# ./bzfs -conf /path/to/sample.conf
# Don't take out any # comment markers or add options that you think look cool
# until after you have the server working.
# The options you need have been included in this file.
# You don't even need to specify a map, bzfs will create a random map for you. 
#
# You do not even need this .conf file to start a server.
# You can use as many options you'd like just typing them into the terminal.
# Assuming you have installed BZFlag in default locations.  
# In Macintosh terminal application these two should work
# cd /Applications/BZFlag2.0.10/Contents/MacOS/ 
# ./bzfs -dd 
#
# In windows command prompt, these two commands should suffice 
# cd C:\program files\bzflag2.0.10
# bzfs.exe -dd 
# All other path examples given in this file use *nix format
# Windows users will have to change all the path examples given in this file.
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Re: Help with Private LAN only Server

Post by deliot »

...and here is my group file:

EVERYONE: -ALL +ADMINMESSAGESEND
VERIFIED: -ALL +TALK +SPAWN +ADMINMESSAGESEND
LOCAL.ADMIN: +ALL
MUTE: !TALK
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: Help with Private LAN only Server

Post by joevano »

Here is a cleaned up version of the config (without 90% of the comments) :

Code: Select all

-srvmsg " xxxxx "
-srvmsg " xxxx"

# Define a message which will be broadcast to all players every 15 minutes.
-admsg " ********************************************************************"
-admsg " ********************************************************************"
-admsg " ** xxxxx "
-admsg " ** xxxxx"
-admsg " ** Use /report to report abuse, server issues, etc."
-admsg " ********************************************************************"
-admsg " ********************************************************************"

-password xyz123

# Used to control "Mouse Enhancements"
-a 50 38


## Random World Generation ##
-b

# Adds teleporters to the game. for random maps only
-t

# This option controls the building density on random worlds(1-10) 
-density 5

# This option gives buildings random heights. This is used when
# you are using random maps.
-h


## Game Styles ##

-c
+r
-fb
-sb
-tkannounce
-tkkr 32
-disableBots
-g
-time 1800

## List server Connection ##

-p 5154

# Tells server not to respond to "pings". This makes the server private.
# You should remove -public and -publicaddr when using it.
-q


## Player Connections ##

-requireudp
-autoTeam

##########################################################
# Registered player files which will be loaded on startup.
# Use all three if you are not connecting to the list server.
# Players can use /register passwd and /identify passwd 
# to confirm their identities. 

# groupdb stores group to permission mappings.
-groupdb /usr/games/bzflag_files/groups.txt

# userdb stores user to group mappings.
-userdb /usr/games/bzflag_files/users.txt

# passdb stores local user password mappings.
-passdb /usr/games/bzflag_files/passwds.txt 

##########################################################
-maxidle 300

-banfile /usr/games/bzflag_files/banlist.txt
-noMasterBanlist


## General Options ##

-spamtime 15
-spamwarn 3

## Player Controlled Functions ##

-reportfile /usr/games/bzflag_files/reports.txt

## Flags ##

-sl GM 10
-sl L 10

# Good Flags
+f A{2} # Agility
+f CL{20} # Cloaking 
+f F{2} # rapid Fire
+f G{1} # Genocide
+f GM{20} # Guided Missile
+f IB{2} # Invisible Bullet
+f L{20} # Laser
+f MG{6} # Machine Gun
+f N{2} # Narrow
+f OO{4} # Oscillation Overthruster
+f QT{4} # QuickTurn
+f SB{12} # Super Bullet
+f SE{2} # SEer
+f SH{2} # SHield 
+f SR{2} # SteamRoller
+f ST{20} # STealth
+f SW{20} # ShockWave 
+f T{4} # Tiny
+f TH{10} # THief
+f V{2} # Velocity (high speed)
+f WG{20} # WinGs 

-f bad #no bad flags
+f good #one of each good flag

+s 30

## Variables ##

-set _wingsJumpCount 3

It looks like you have made a mess of your config. You really should start with a config with 1 or two options set and make sure it works. Then add options one at a time (and only those options that you NEED) and test after adding each one. I can guarantee that doing that you will get a config that works. It looks like you just uncommented stuff from the example that you thought might be useful, but I am not sure they all play nice together...
There is nothing worse than aggressive stupidity. -- Johann Wolfgang von Goethe
"How many legs does a dog have if you call his tail a leg? Four. Calling a tail a leg doesn't make it a leg." -- Abraham Lincoln
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: Help with Private LAN only Server

Post by blast »

You could try using your home directory instead of /usr/games/ for storing the various files. I'm still betting it's a permission issue. Permissions are per-file, so you could also check the permissions on the two files that won't write by using 'ls -l' (that's a lowercase L).
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Re: Help with Private LAN only Server

Post by deliot »

It looks like you have made a mess of your config. You really should start with a config with 1 or two options set and make sure it works. Then add options one at a time (and only those options that you NEED) and test after adding each one. I can guarantee that doing that you will get a config that works. It looks like you just uncommented stuff from the example that you thought might be useful, but I am not sure they all play nice together...
First, thanks for your help...

Well, I used the config example that came with it, yea. I don't see that as a problem, unless there is a conflict hiding somewhere. Yea, I did uncomment stuff that I thought would be useful. That works on 98% of the PHP scripts, Java, C++, HTML, etc. that I've installed or worked on.

I love BZFlag and appreciate it's awesomeness, but the official server documentation leaves A LOT to be desired. I would like to see, for example, a folder full of working configs with a variety of options.

But anyway...
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Re: Help with Private LAN only Server

Post by deliot »

blast wrote:You could try using your home directory instead of /usr/games/ for storing the various files. I'm still betting it's a permission issue. Permissions are per-file, so you could also check the permissions on the two files that won't write by using 'ls -l' (that's a lowercase L).
Yea... that's my worry too, though I checked permissions on each file involved in this discussion.

Off to re-install BZFS to my home folder on Ubuntu, and see if that helps. :!:

Thanks for your time Blast :-)

Dan
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: Help with Private LAN only Server

Post by blast »

Doesn't matter where bzfs is at as long as you can execute it. It only matters where you are pointing other files (pass/group/user files).
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Re: Help with Private LAN only Server

Post by deliot »

blast wrote:Doesn't matter where bzfs is at as long as you can execute it. It only matters where you are pointing other files (pass/group/user files).
Yea, good point about that! Even though an uninstall of BZFS was not necessary, I did it anyway to start as "fresh" as possible.

Moved the config files to my /home/[user] directory. After moving them, I didn't have access to them. BZFS would error out that it couldn't read them. I had to reset the permissions on them one file at a time (as I also did previously when they were in /user/games). Once I did that, they DID and ARE working correctly. Users can register and are being written to the files now.

I also commented out a few things in the config file that were not necessary (settings regarding a random map game).

Also, I think I have some issues with Ubuntu home folders. My user HOME folder isn't being recognized properly, and isn't "marked" as my home folder when I log in or browse in Nautilus. Instead, I am being taken to the ROOT HOME folder for some reason.

Bottom line, start with a clean Ubuntu setup. I will probably rebuild this Ubuntu system from scratch over the summer, and, as you recommended, put the BZFS config files in my user HOME folder.

Thanks everyone for the help...

Dan
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Final Thoughts

Post by deliot »

In the off chance that this helps someone in the future.

Here's what my current command line to run BZFS looks like on Ubuntu:

Code: Select all

/usr/games/bzfs -conf /home/[user]/bzflag/bzconfig.txt
Bzfs was installed via Synaptic (or command line) into /user/games.
I put my configs into a folder I created in my home directory /home/[user]/bzflag/.

To get groups to work, I have these lines in my bzconfig.txt:

Code: Select all

# groupdb stores group to permission mappings.
-groupdb /home/[user]/bzflag/groups.txt

# userdb stores user to group mappings.
-userdb /home/[user]/bzflag/users.txt

# passdb stores local user password mappings.
-passdb /home/[user]/bzflag/passwords.txt 
And here is what the files look like when data is writing to the files properly:

groups.txt

Code: Select all

EVERYONE: -ALL +ADMINMESSAGESEND
VERIFIED: -ALL +TALK +SPAWN +ADMINMESSAGESEND
LOCAL.ADMIN: +ALL
MUTE: !TAL
users.txt

Code: Select all

BILLYBOB
EVERYONE VERIFIED 


BUFFALOBILL
EVERYONE VERIFIED




passwords.txt

Code: Select all

BILLYBOB:613d3b9c91e9445abaeca02f2342e5a6
BUFFALOBILL:613d3b9c91e9445abaeca02f2342e5a6
FINAL THOUGHTS:

(1) note that the users.txt file seems to skip two lines between each user. Not sure why that is? Perhaps other data would be written on those lines if these users had other settings or permissions?

(2) Passwords are encrypted, so they can't really be entered manually, unless you want to set them to a password that you have already encrypted, and therefore know the encrypted version. The password used in the example above is xyz123, so now I know that xyz123 encrypts to 613d3b9c91e9445abaeca02f2342e5a6.

(3) A cool thing to do here would be to give new users a default password (say xyz123) using the encrypted version to get them into a server for the first time, and then they use /setpass [password] to change their password to something they want.

That's about it :-)

Dan
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: Help with Private LAN only Server

Post by blast »

It's just an MD5, so it's not encryption. It's a hash.

Also, local authentication is very insecure. It has been completely removed from our development code and will no longer work for our next major release.
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Re: Help with Private LAN only Server

Post by deliot »

blast wrote:It's just an MD5, so it's not encryption. It's a hash.
It's a "One Way Cryptographic Hash Function" or "One Way Message Digest" if you want to get really technical about it. Either way, it is encryption.
blast wrote:Also, local authentication is very insecure. It has been completely removed from our development code and will no longer work for our next major release.
Well, in my opinion, that's a bad idea, since it is useful for private servers. If it's going to be removed, I hope there is a way to avoid using the Global Server... which has a history of being down, and is a security risk IF you want a private, LAN only solution that doesn't use the "cloud".

Either way, I'll either adapt or just use an old, outdated server I guess :-)

Dan
User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Re: Help with Private LAN only Server

Post by joevano »

deliot wrote:[Well, in my opinion, that's a bad idea, since it is useful for private servers. If it's going to be removed, I hope there is a way to avoid using the Global Server... which has a history of being down, and is a security risk IF you want a private.
The list server is rarely down, please don't characterize it as having a history of being down, all services will go down from time to time. Also, I do not understand how connecting to the list server for authentication could be a security risk? Could you elaborate...
There is nothing worse than aggressive stupidity. -- Johann Wolfgang von Goethe
"How many legs does a dog have if you call his tail a leg? Four. Calling a tail a leg doesn't make it a leg." -- Abraham Lincoln
User avatar
blast
General
General
Posts: 4931
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: Help with Private LAN only Server

Post by blast »

The term "encryption" implies that it can be reversed.

http://en.wikipedia.org/wiki/Encryption

"In cryptography, encryption is the process of transforming information (referred to as plaintext) using an algorithm (called cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key."

Also, anyone is free to run their own list server (phpBB3 with a few extra columns on the users table, and a PHP file or two for the list itself). It would be trivial to reimplement the list server to not use the forum. There's even a partial rewrite I had started under trunk/web/bzfls2/ in SVN that might be a good starting point for that.
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image
deliot
Private First Class
Private First Class
Posts: 31
Joined: Tue May 11, 2010 3:22 pm

Re: Help with Private LAN only Server

Post by deliot »

The list server is rarely down, please don't characterize it as having a history of being down
When I've needed it in the past, the server was down. I would characterize contacting a BB to authenticate for a private LAN game as less than optimal.
Also, I do not understand how connecting to the list server for authentication could be a security risk?
I'm running a private server for 20+ players behind a firewall and I do not want to mess with going outside to authenticate. It would be safer, and more logical, to stay behind my firewall and authenticate locally.
The term "encryption" implies that it can be reversed.
So very unrelated to the original discussion as to be off topic. I stand by my use of the term "encryption" as opposed to the semantically more accurate "MD5 one way message digest" which wouldn't help anybody reading my "final thoughts" message.
Also, anyone is free to run their own list server (phpBB3 with a few extra columns on the users table, and a PHP file or two for the list itself). It would be trivial to reimplement the list server to not use the forum.
I always love how experts use the term "trivial" for something they know how to do, but somebody else might not know how to do. Thanks for the advice though, I will build my own list server when the time comes.

I'm done, talk amongst yourselves. Your help in answering the original question is appreciated 8)
Post Reply