BZFlag ToDo List

Table of Contents

1 Server Administration

1.1 SOMEDAY Move Test servers to bzflag3.norang.ca    WAITING

  • State "TODO" 2009-01-16 Fri 13:26

1.1.1 TODO Fix Map links to all servers    NEXT

Test servers work but not permanent servers

1.1.2 CANCELLED Create cacheout files for new maps and ship to webserver    CANCELLED

CLOSED: 2009-01-20 Tue 15:15

  • State "CANCELLED" 2009-01-20 Tue 15:15
    Not worth the effort. With the fastmap plugin coming in v3.0 we probably don't need this
  • CANCELLED What server do we want cacheout files on?    CANCELLED
    CLOSED: 2009-04-10 Fri 00:40

1.1.3 CANCELLED Add cacheout files to server configuration    CANCELLED

CLOSED: 2009-01-20 Tue 15:17

  • State "CANCELLED" 2009-01-20 Tue 15:17

1.1.4 DONE Create new test servers on bzflag3.norang.ca

CLOSED: 2007-05-01 Tue 10:44

  • DONE Determine how many servers we need
    CLOSED: 2007-05-02 Wed 15:57

1.1.5 DONE Stop test servers on bzflag.norang.ca

CLOSED: 2007-05-01 Tue 10:44

1.1.6 DONE Move server configs to bzflag3.norang.ca

CLOSED: 2007-05-01 Tue 10:45

1.1.7 DONE Allow map uploads to bzflag3.norang.ca

CLOSED: 2007-05-01 Tue 10:45

1.1.8 DONE Mark all bzflag.norang.ca servers as disabled

CLOSED: 2007-05-01 Tue 10:45

1.1.9 DONE Start test servers on bzflag3.norang.ca

CLOSED: 2007-05-01 Tue 10:45

1.1.10 DONE Save map from upload

  • State "DONE" 2007-08-28 Tue 11:42
    It's a hack but it works

1.1.11 DONE Allow map uploads to test servers

  • State "DONE" 2007-08-28 Tue 11:42

1.1.12 DONE Figure out what's wrong with bzflag3:5180

CLOSED: 2007-05-04 Fri 17:04

1.2 DONE Test thiefControl plugin on trunk for 3.0 release

CLOSED: 2009-07-10 Fri 17:49

  • State "DONE" from "STARTED" 2009-07-10 Fri 17:49
  • State "STARTED" from "TODO" 2009-07-10 Fri 17:49
  • State "TODO" 2009-01-16 Fri 13:26

2007-08-28 Tue

1.2.1 DONE Load thiefControl plugin on trunk server

CLOSED: 2009-07-10 Fri 17:49

  • State "DONE" from "STARTED" 2009-07-10 Fri 17:49
  • State "STARTED" from "TODO" 2009-07-10 Fri 17:41

1.2.2 DONE Request another player for testing

CLOSED: 2009-07-10 Fri 17:49

  • State "DONE" from "STARTED" 2009-07-10 Fri 17:49
  • State "STARTED" from "TODO" 2009-07-10 Fri 17:49

1.3 bzflag trunk servers for plugin testing

2007-09-11 Tue
CLOSED: 2008-11-10 Mon 11:04
Donny's host ports 10000-10009

1.4 WAITING Change IP for bzflag3.norang.ca    WAITING

  • State "WAITING" from "STARTED" 2009-06-24 Wed 19:46
    For joe to get new hardware
  • Note taken on 2009-06-16 Tue 14:35
    Date is 2009-06-18 Thu
  • State "TODO" from "WAITING" 2009-06-16 Tue 14:35
  • State "WAITING" 2009-01-16 Fri 13:29
    For date from joevano

2009-01-16 Fri

1.4.1 DONE Reduce TTL to 300s in bind configurations

CLOSED: 2009-06-16 Tue 15:03

1.4.2 TODO Stop servers    NEXT

1.4.3 TODO Update IP in pm.com firewall rules

1.4.4 TODO Update IP in bind configurations

1.4.5 TODO Update SSH key known_hosts info

1.4.6 TODO Update registry info

1.4.7 TODO Restart servers

1.4.8 DONE Reduce TTL on DNS records

CLOSED: 2009-06-16 Tue 15:02

  • State "DONE" from "STARTED" 2009-06-16 Tue 15:02

2 Source Code

2.1 TODO Fix bzadmin so if a player leaves it bitches if you are sending a PM to them

  • State "TODO" 2009-01-16 Fri 13:30

2009-01-11 Sun
Currently it sends it to ALL which is bad

2.1.1 TODO Determine where this change needs to happen    NEXT

2.2 SOMEDAY Cleanup and release CTFkillall plugin    WAITING

2.2.1 TODO Clean up code    NEXT

2.3 SOMEDAY BUGFIX BZFlag client goes NR on /viewreports    WAITING

  • State "TODO" 2009-01-16 Fri 13:30

2.3.1 TODO Design a better way to send lots of data to the client    NEXT

Don't blow the send queue

report file on bzflag2.norang.ca:4423

Same problem with our huge banlist - too much data and server drops player

2006-12-10T03:38:08Z MSG-COMMAND 7:Thumper viewreports
2006-12-10T03:38:08Z WARNING: Network message being sent is too long! (message is 131, cutoff at 128)
2006-12-10T03:38:08Z WARNING: Network message being sent is too long! (message is 139, cutoff at 128)
. . .
2006-12-10T03:38:08Z WARNING: Network message being sent is too long! (message is 135, cutoff at 128)
2006-12-10T03:38:08Z Player Thumper [0] drop, unresponsive with 16391 bytes queued
2006-12-10T03:38:08Z WARNING: Network message being sent is too long! (message is 144, cutoff at 128)
2006-12-10T03:38:08Z Player Thumper [0] drop, unresponsive with 16463 bytes queued
. . .
2006-12-10T03:38:08Z Player Thumper [0] drop, unresponsive with 16412 bytes queued
2006-12-10T03:38:08Z Player Thumper [0] drop, unresponsive with 16451 bytes queued
2006-12-10T03:38:08Z PLAYER-PART 7:Thumper #0 BZid:896 send queue too big
2006-12-10T03:38:08Z PLAYERS (0)
2006-12-10T03:38:08Z Player Thumper [0] removed at 2006-12-09 22:38:08: send queue too big

2.4 SOMEDAY Plugin Support    WAITING

  • State "TODO" 2009-01-16 Fri 15:25

2.4.1 TODO bzfs error check: non-existent plugins    NEXT

2.4.2 TODO bzfs error check: plugin registration for unknown event

2.4.3 DONE Propagate –enable-debug to plugin builds

CLOSED: 2009-01-16 Fri 17:42

  • State "DONE" 2009-01-16 Fri 17:42

2008-05-04 Sun

2.5 SOMEDAY BUGFIX Player joins twice    WAITING

  • State "TODO" 2009-01-16 Fri 15:25

2.5.1 TODO Review this error scenario    NEXT

Dodge_This joined twice on lasermania 2006-11-05 02:03:50 and :51 as Red then Blue. He thought he was blue, spawned on blue side of the map but Blue players saw him as red and died as TKs when shooting him.

Think Different talked about this error message when joining shortly after: "server error when adding player, player already added" This comes from file:~/git/bzflag/bzflag-svn/bzflag/src/bzflag/playing.cxx

if (player[i]) {
  // we're not in synch with server -> help! not a good sign, but not fatal.
  printError ("Server error when adding player, player already added");
  std::cerr << "WARNING: player already exists at location with id "
            << i << std::endl;
  return NULL;
}

According to delusional:

the same effect can be produced by players canceling a map download with the escape key.

2008-01-14 Mon
Delusional can reproduce this - just wail on the return key when you connect and it joins more than once. I got player slot 47… on LouMan's king of the hill

2.6 DONE Add -utc switch to bzfs

CLOSED: 2009-07-11 Sat 14:00

  • State "DONE" from "TODO" 2009-07-11 Sat 14:00
  • State "TODO" 2009-01-16 Fri 15:25

2008-01-30 Wed
Makes -ts timestamps output UTC instead of localtime file:~/git/bzflag/bzflag-svn/bzflag/src/common/bzfio.cxx::52 Change localtime to gmtime based on switch option

2.6.1 DONE Add -utc switch

CLOSED: 2009-07-11 Sat 13:59

  • State "DONE" from "STARTED" 2009-07-11 Sat 13:59
  • State "STARTED" from "TODO" 2009-07-09 Thu 20:22

2.6.2 DONE Add code to modify debug output using UTC

CLOSED: 2009-07-11 Sat 14:00

  • State "DONE" from "TODO" 2009-07-11 Sat 14:00

2.7 TODO LogDetail Plugin

  • State "TODO" 2009-01-16 Fri 13:30

2.7.1 TODO Fix bzid when player is ghosted

2008-01-14 Mon

2006-09-27T00:10:39Z PLAYER-PART 11:donny_baker #6 BZid:3680 Ghost
2006-09-27T00:10:39Z PLAYER-JOIN 11:donny_baker #10 BZid: PURPLE IP:67.185.228.175 VERIFIED GLOBALUSER ADMIN

2.7.2 CANCELLED Add client id string to player info    CANCELLED

CLOSED: 2009-01-16 Fri 13:30

  • State "CANCELLED" 2009-01-16 Fri 13:30

PlayerInfo.getClientVersion()

2.7.3 TODO Add configuration file for selecting what to log    NEXT

2.7.4 DONE Replace cout with bzdebugmessage

CLOSED: 2007-11-27 Tue 20:55

2.7.5 DONE Add bzbb id to playerjoin data

CLOSED: 2006-10-01 Sun 23:37

2.7.6 DONE Add Players

CLOSED: 2006-10-01 Sun 23:36
PLAYERS (5) [+]3:420(11:choke1.OSX/) [+]9:Bad Sushi() [+]8:frogster(7:drexton) [+]10:spatialgur(15:spatialguru.com) [+]4:klkl(10:im 6yr old)

2.7.7 CANCELLED Add SERVER-HOSTPORT to logDetail

CLOSED: 2008-01-15 Tue 16:48
clOptions->publicizedAddress.c_str()

And this is useful why? We need to know which server and port it is before we can start storing logs - so lets just dump this idea.

2.7.8 DONE Add SERVER-MAPNAME to logDetail

CLOSED: 2008-02-10 Sun 20:51
clOptions->publicizedTitle.c_str()

2.7.9 CANCELLED Add SERVER-HOSTPORT to logDetail

CLOSED: 2008-01-15 Tue 16:48
clOptions->publicizedAddress.c_str()

And this is useful why? We need to know which server and port it is before we can start storing logs - so lets just dump this idea.

2.7.10 DONE Add MSG-FILTERED and filtered text

2.7.11 DONE Update SVN HEAD code so it's up to date

CLOSED: 2007-10-25 Thu 22:59

2.7.12 TODO Allow plugin to create log files directly

2.7.13 TODO bzflag - add player join events when players are rejected so we can see the bans in effect

2009-02-01 Sun

2.8 TODO Overseer Plugin

2.8.1 CANCELLED Overseer: handle registered players    CANCELLED

CLOSED: 2009-02-07 Sat 13:01

  • State "CANCELLED" 2009-02-07 Sat 13:01
    We added requireidentify so you can't teamkill when impersonating a registered player

2009-01-26 Mon

  • Add idbans for registered players
  • Allow registered players to rejoin

2.8.2 DONE Let it run without a callsign ban file

CLOSED: 2009-02-14 Sat 11:08

  • State "DONE" 2009-02-14 Sat 11:08
  • State "STARTED" 2009-02-14 Sat 11:08

2.8.3 SOMEDAY Overseer: Add commands    WAITING

2009-01-27 Tue

  • TODO Add /overseer list command    NEXT
    • /overseer list [all|blacklist|Tkers]
      • Displays the list
  • TODO Add /overseer save command
    • /overseer save
      • Save the blacklist to disk
  • TODO Add /overseer remove command
    • /overseer remove #3
  • TODO Add /overseer add command
    • /overseer add callsign|"call sign"
  • TODO overseer - add /reload command to dump and reload callsigns
    2009-02-01 Sun
    • /overseer reload
      • Dump and reload the blacklist from disk
    • /overseer reload
      • Rereads the callsign file
  • TODO Add /overseer stats command
    • Show number of bans by callsign
    • Show number of TKs with limit
    • Show number of warnings issued

2.8.4 TODO Track TKs by IP

2009-01-26 Mon

  • Changing your callsign and reconnecting won't help
  • Multiple players from same IP could be an issue

2.8.5 DONE Put expiration times on callsign bans

CLOSED: 2009-02-07 Sat 13:02

  • State "DONE" 2009-02-07 Sat 13:02
  • State "STARTED" 2009-02-07 Sat 13:01
  • persistent servers will reban forever otherwise

2.8.6 DONE Overseer config to ignore TKs

CLOSED: 2009-02-07 Sat 13:02

  • State "DONE" 2009-02-07 Sat 13:02
  • State "STARTED" 2009-02-07 Sat 13:02

2009-01-29 Thu

  • Olympic server needs that

2.8.7 DONE Deal with cheaters

CLOSED: 2009-02-08 Sun 12:15

  • State "DONE" 2009-02-08 Sun 12:15
  • State "STARTED" 2009-02-07 Sat 15:14

Cheaters join and then /register immediately as of Dec 2008

Here's what we're going to do

  • Mark players that join and then /register in the same second as cheaters
  • When someone types 'cheat' in chat we kickban all cheaters
  • If you TK and you're marked as a cheater we kickban immediately
  • When someone issues a poll ban command we kickban all cheaters
  • If a player triggers the chat filter and is a cheater we kickban
  • DONE Mark cheaters
    CLOSED: 2009-02-07 Sat 20:11
    • State "DONE" 2009-02-07 Sat 20:11
    • State "STARTED" 2009-02-07 Sat 15:22
    • cheater flag
  • DONE Kick and ban all cheaters on 'cheat' text
    CLOSED: 2009-02-07 Sat 20:59
    • State "DONE" 2009-02-07 Sat 20:59
    • State "STARTED" 2009-02-07 Sat 20:39
  • DONE Kick and ban cheater when they team kill
    CLOSED: 2009-02-07 Sat 20:39
    • State "DONE" 2009-02-07 Sat 20:39
    • State "STARTED" 2009-02-07 Sat 20:31
  • DONE Kick and ban all cheaters on a poll ban command
    CLOSED: 2009-02-07 Sat 20:31
    • State "DONE" 2009-02-07 Sat 20:31
    • State "STARTED" 2009-02-07 Sat 20:27
  • DONE Kick and ban cheater when they trigger the chat filter
    CLOSED: 2009-02-07 Sat 20:27
    • State "DONE" 2009-02-07 Sat 20:27
    • State "STARTED" 2009-02-07 Sat 20:22
  • DONE Test it
    CLOSED: 2009-02-08 Sun 12:15
    • State "DONE" 2009-02-08 Sun 12:15
    • State "STARTED" 2009-02-07 Sat 20:59

2.8.8 DONE Reissue ban for TKs with the TK message

CLOSED: 2009-02-10 Tue 14:37

  • State "DONE" 2009-02-10 Tue 14:04
  • State "STARTED" 2009-02-10 Tue 13:48

2.8.9 TODO Issue message to TKer

  • Make message configurable
  • Make message optional (blank msg = don't send)

2.8.10 TODO Auto save recordings of cheaters

2009-02-14 Sat

2.8.11 TODO Remove min debug setting and restore previous value

2009-02-14 Sat

2.8.12 DONE Load overseer on the olympic map

CLOSED: 2009-02-24 Tue 12:36
2009-02-14 Sat

2.8.13 DONE Ban players that multi-join clients on the same IP

CLOSED: 2009-02-27 Fri 20:55

  • DONE Add a configurable player join limit in same second
    CLOSED: 2009-02-24 Tue 13:27
    3?
  • DONE Check on player join for number of players from same IP in same second
    CLOSED: 2009-02-27 Fri 20:55
  • DONE Ban if too many players
    CLOSED: 2009-02-27 Fri 20:55

2.8.14 PROJDONE Create bzflag plugin to remove problem players

CLOSED: 2009-01-25 Sun 23:34

  • State "DONE" 2009-01-25 Sun 23:34
  • State "PROJ" 2009-01-20 Tue 14:01

2009-01-20 Tue
SrVPofFieldOperations - 3day ban on IP when player joins

  • DONE Pick a name for this plugin
    CLOSED: 2009-01-22 Thu 21:11
    • State "DONE" 2009-01-22 Thu 21:11

    Possible names:

    • deliquent
    • penaltybox
    • adds 3 day IP bans on players that TK 6 times with no good kills regardless of rejoins
    • bans players on join by callsign for 3 days if their callsign matches some list
      • sk3letron
      • srvpoffieldoperations
      • nightmare
      • plastictank
      • christopher reeves wheelchair
      • crw
      • professor chaos
      • coogle
      • rottencrotch
    • uses 'Thumper' as the banner (configurable)
    • ban length (3d) configurable
  • DONE Outline the design
    CLOSED: 2009-01-25 Sun 23:34
    • State "DONE" 2009-01-25 Sun 23:34

2.8.15 DONE BZFlag cheat analysis

CLOSED: 2009-03-01 Sun 10:03
2009-02-25 Wed

  • DONE Check if poll counts non-registered players
    CLOSED: 2009-02-27 Fri 09:58
    2009-02-25 Wed

2.8.16 TODO Server cheat prevention changes

Cheating BZFlag

  • [X] Reversing with OO while sealed
  • [X] Instant respawn
  • [X] Drop bad flags like regular flags

http://my.bzflag.org/w/Known_Cheats

2.8.17 CANCELLED Make fast joins just kick with a bot message - no ban    CANCELLED

CLOSED: 2009-05-05 Tue 11:16
2009-04-22 Wed

2.8.18 DONE Announce who is banned as a broadcast

CLOSED: 2009-07-17 Fri 18:12

  • State "DONE" from "STARTED" 2009-07-17 Fri 18:12
  • State "STARTED" from "TODO" 2009-07-17 Fri 16:23

2.8.19 TODO Redesign overseer to use more classes

2009-04-23 Thu

  • Player class
  • Interator for players
  • kick and ban functions
  • kickIP function

2.8.20 DONE Fix overseer plugin ban reason text

CLOSED: 2009-07-19 Sun 10:19

  • State "DONE" from "STARTED" 2009-07-19 Sun 10:19
  • State "STARTED" from "TODO" 2009-07-19 Sun 10:04

2009-07-19 Sun
Complete git user survey Ban with no text

2.9 CANCELLED Fix this BZFlag segfault    CANCELLED

CLOSED: 2009-07-14 Tue 16:20

  • State "CANCELLED" from "TODO" 2009-07-14 Tue 16:20
    Done.

2009-02-22 Sun
<gnus:INBOX.BZFlag#20090223040137.063DD19C058@WRIT080154.bowen.lcl>

2.10 CANCELLED Clobber this bug    CANCELLED

CLOSED: 2009-07-14 Tue 16:20

  • State "CANCELLED" from "TODO" 2009-07-14 Tue 16:20
    Done

<gnus:INBOX.BZFlag#20090304080557.2317419C05F@WRIT080154.bowen.lcl>

2.11 TODO Generate doxygen docs for bzflag    NEXT

2.12 DONE RpmStats Plugin

CLOSED: 2009-07-27 Mon 15:28

2.12.1 DONE Add subscription to stats at regular intervals

CLOSED: 2009-05-05 Tue 11:25

2.13 TODO webadmin plugin segfaults the server on shutdown    NEXT

2009-05-01 Fri

2.14 TODO Work on BZFlag source code to develop C++ Skills    NEXT

2.15 CANCELLED bzflag: mixin anti cheat class for bzflag server    CANCELLED

CLOSED: 2009-07-27 Mon 15:28
2009-06-06 Sat
Basically does similar stuff to the Overseer plugin - monitoring data and dumping clients that trigger stuff

3 PlanetMofo Support

3.1 TODO PM.COM - bzfs server access to logs via website    NEXT

  • State "TODO" 2009-01-16 Fri 12:41
  • State "SOMEDAY" 2008-12-01 Mon 15:20
    Will this ever be ready?
  • State "WAITING" 2008-03-17 Mon 02:13
    On completion of dev.bzflag.norang.ca website code

2007-08-31 Fri

3.1.1 CANCELLED Get PM server logs using ts for logging    CANCELLED

CLOSED: 2008-01-13 Sun 17:45
bzfs -ts is enough. Plugin was fixed to output timestamps some time ago.

3.2 CANCELLED Setup nightly trunk builds with plugin install on pm.com    CANCELLED

CLOSED: 2009-07-14 Tue 17:10

  • State "CANCELLED" from "SOMEDAY" 2009-07-14 Tue 17:10

2009-01-20 Tue

3.2.1 CANCELLED Set up trunk git repository    CANCELLED

CLOSED: 2009-07-14 Tue 17:10

  • State "CANCELLED" from "TODO" 2009-07-14 Tue 17:10

3.2.2 CANCELLED Copy trunk build script    CANCELLED

CLOSED: 2009-07-14 Tue 17:10

  • State "CANCELLED" from "TODO" 2009-07-14 Tue 17:10

3.2.3 CANCELLED Setup trunk bzfs and plugin install    CANCELLED

CLOSED: 2009-07-14 Tue 17:10

  • State "CANCELLED" from "TODO" 2009-07-14 Tue 17:10

3.3 TODO Make the pm.com tor block keep counters    NEXT

2009-01-21 Wed
Don't delete and recreate rules for the same node This way we can get counter data to see if it's useful or not

3.4 TODO noteamCTF Plugin

  • Note taken on 2009-06-19 Fri 13:16
    delusional wants this for 3.0

3.4.1 DONE Create a test map

CLOSED: 2009-04-12 Sun 23:21
Delusional is doing this http://planetmofo.pastebin.com/f5a247016

3.4.2 TODO Spec out design details    NEXT

  • use map named zones for spawn points
    • figure out if that works
  • use a SR flag and a huge radius to kill other players
  • do we need a ctf game at all or bases?
    • isn't just a track with a SR flag at the finish sufficient?
  • need to kill all players together at the end to start the next race
  • players spawn at next spawn zone as races progress

3.4.3 IRC conversation details

17:47 <@delusional> i want to talk to you about something else... i've already asked everyone else...
17:47 <@delusional> it's a new plugn...  trepan said it's "trivial"
17:48 <+Thumper_> ok... I'll need more details than that :)
17:48 <+Thumper_> the sample plugin is trivial...
17:48 <@delusional> you know how currently obstacle course maps can have players all over the place....  it's sometimes like a race against yourself?
17:49 <@delusional> well, i wanted to split that up into lots of smaller races... with a steamroller flag as the goal, and _srRadiusMult set to super huge.
17:49 <+Thumper_> ok
17:49 <@delusional> so the first to the flag gets a nice satisfying crunch sound
17:50 <@delusional> all it really need to do, is spawn everyone in the same place...  and after the goal is reached, switch to the next spawnpoint in the list
17:51 <+Thumper_> so they are all on the same part of the course?
17:51 <+Thumper_> racing for the same flag?
17:51 <@delusional> then we can either kill the winner, or add teleporters
17:51 <+Thumper_> or they are all over the map racing for different flags?
17:51 <@delusional> yeah, exactly, lots of short races.
17:51 <@delusional> one flag per race
17:51 <@delusional> all players on the same section
17:52 <+Thumper_> ok so you can force wehre players spawn I think 
17:52 <+Thumper_> but how do you make everyone spawn at once so the race is fair?
17:52 <+Thumper_> ie. no leads
17:52 <@delusional> yeah, it can be done.. if not in 2.0, definitely in 3.0
17:52 <@delusional> but im pretty sure 2.0
17:53 <@delusional> might have to have a worldweapon at the start of every race.
17:53 <+Thumper_> we use a big SW on the olympic map to stop leads
17:53 <@delusional> but if they all die at the same time... it's they're fault if they spawn late.
17:54 <+Thumper_> I suppose
17:54 <@delusional> it's the winner who we gotta kill
17:55 <+Thumper_> so we notice the flag grab - that shouldn't be a problem
17:57 <@delusional> i've been thinking about this for a couple weeks,  it plays kinds like HTF.... the only thing i can think that might be nice to have is the abolity to turn shooting on and off.  
17:58 <@delusional> with shorter races... you might be able to allow shooting.
17:58 <+Thumper_> if it's just a race w/o shooting just set max shots = 0
17:58 <+Thumper_> it's not changeable at runtime in 2.0 currently
17:59 <@delusional> each section of the map could have a completely different character.... interesting for mappers
17:59 <@delusional> nice for collaboration.

3.5 DONE Try to set up a dry-run upgrade cron job to planet mofo

CLOSED: 2009-07-27 Mon 15:29
2009-04-14 Tue
<gnus:INBOX.Logs#200904141040.n3EAe8Gf003256@cups.intra.norang.ca>

Date: 2009-07-27 17:38:49 EDT