IRC log for #bzflag on 20091120

00:00.50*** join/#bzflag Pimpi (n=frank@gondolin.pimpi.org)
00:24.45*** join/#bzflag L4m3r (n=l4m3r@bzflag/developer/L4m3r)
00:24.46*** mode/#bzflag [+v L4m3r] by ChanServ
00:43.47*** join/#bzflag temporalD (n=ATD@bzflag/serverop/TemporalDistraction)
00:44.46remotedoes anyone has a rough estimation of bandwidth consumption for an active bzfs server?
00:45.18temporalDthere was an estimate on a BZBB post - I'll see if I can find it
00:45.58blast007remote: Missile Wars 2 uses between 200Kbit/sec (maybe 6 players?) and 2Mbit/sec (around 30 players?)
00:48.19remotedoes that seem right: (2 / 8.0) * (60 * 24) * 30 / 1024
00:48.38*** join/#bzflag bier_ (n=bier@pD9E2DAE6.dip.t-dialin.net)
00:48.39remotefor 30 days
00:48.49blast007I peak at around 2.4Mbit/sec
00:49.01remoteok so say 3Mbit/sec during 30 days
00:49.08*** join/#bzflag bier|tp (n=bier@pD9E2DAE6.dip.t-dialin.net)
00:49.21blast007here's a bandwidth chart for this month: http://bit.ly/XVArl
00:49.33blast007and you probably wouldn't get past 1Mbit
00:49.44blast007there isn't that many players on at any one time
00:50.08blast007and I'm using an example of one of the busiest servers
00:50.48remoteif not the busiest
00:51.23blast007well how much bandwidth do you have to work with..?
00:51.24remoteso it's fair to say you should expect 100G per month for an active server
00:51.30remote300GB
00:51.55remotei just want to have an idea
00:51.55blast007I use 250GB a month total for everything I do
00:52.05remotewhat is it that you do?
00:52.14blast007host a few servers, main one being MW2
00:52.35blast007have a web server that probably only pushes out a hunderd meg a month
00:52.58remoteyou include that in your 250GB?
00:53.22blast007yeah.. that chart there is for everything
00:53.29remoteoh!
00:53.36blast007that's recorded at the switch port by my host
00:53.36remoteok
00:53.42remotethat gives me a good idea
00:54.09blast007http://bit.ly/4AWlyX  <-- october
00:54.33blast007green is upstream
01:02.28remotethat doesn't include the texture files or whatever is required to be downloaded from the clients before joining as a player?
01:05.47blast007the textures aren't usually hosted on the computer running the server
01:06.00blast007they would be on images.bzflag.org
01:06.08blast007otherwise most players won't see them
01:09.46remotebecause of the download list ACL
01:10.48blast007yeah
01:11.05remotebtw someone told me about using hidden lines to see through objects
01:11.25remotei can see through some mesh objects i think that's all
01:11.57remotei noticed yesterday playing fancy 1vs1 i could see through the cones there
01:12.33remotethought i'd let you know
01:25.34*** join/#bzflag xaver (n=xaver@pD9ED5A66.dip.t-dialin.net)
01:42.14*** join/#bzflag mrapplecomputer1 (n=admin@c-69-180-173-220.hsd1.mn.comcast.net)
01:46.53*** join/#bzflag xaver__ (n=xaver@pD9ED5AC6.dip.t-dialin.net)
01:47.15*** join/#bzflag fatass (n=fatass@pool-71-178-123-216.washdc.east.verizon.net)
01:53.34*** join/#bzflag mrapplecomputer1 (n=admin@c-69-180-173-220.hsd1.mn.comcast.net)
02:05.18*** join/#bzflag jcp (n=jw@unaffiliated/javawizard2539)
02:36.04*** join/#bzflag JeffM (n=JeffM@bzflag/projectadmin/JeffM)
02:36.04*** mode/#bzflag [+o JeffM] by ChanServ
02:36.31*** join/#bzflag Pimpi_ (n=frank@gondolin.pimpi.org)
02:44.55*** join/#bzflag bushido_banjo (n=charles@c-67-164-121-179.hsd1.ca.comcast.net)
02:45.41bushido_banjoblast are you around?
02:46.19blast007yes
02:46.31blast007bushido_banjo: sup?
02:46.48bushido_banjogeneral q's about compiling 2.99.x
02:46.51bushido_banjoattempt failed
02:47.10bushido_banjowant to ask for link with complete info for ubuntu karmic...
02:47.23JeffMthere isn't one
02:47.29JeffMwhat errors do you get?
02:48.02bushido_banjoi nuked it but will reattempt and give you that info... i just thought there might be a useful link to go by...
02:48.12blast007there is a readme file for linux...
02:48.18bushido_banjoyes
02:48.20JeffMwe don't make pages that describe how to build on every distro
02:48.25JeffMjust the readme
02:48.25bushido_banjosure makes sense
02:48.28JeffMit's also dev code
02:48.53JeffMdo you recal what kind of error it was?
02:48.53bushido_banjoany known issue compiling on amd64?
02:48.55JeffMnope
02:48.55bushido_banjoi think it was a header issue
02:49.04JeffMa gcc header?
02:49.17JeffMdid you install the C++ compiler?
02:49.19JeffMand sdl dev?
02:49.20bushido_banjoi'd be guessing. i will be right back with exact info
02:49.25bushido_banjoyes have g++
02:49.33JeffMsdl dev?
02:49.45bushido_banjolemme check.. that is lib?
02:49.46JeffMand do you have an nvidia or ATI card?
02:49.59bushido_banjoati
02:50.08JeffMmake sure mesa dev is installed to
02:50.10JeffMtoo
02:50.15bushido_banjok
02:50.27bushido_banjosdl dev is libsdl?
02:50.35blast007yeah
02:50.44blast007probably has -dev at the end ;)
02:50.45JeffMmake sure it's the dev package
02:51.28bushido_banjono libsdl-dev avail in my repository listing...
02:51.35bushido_banjocan do apt install tho
02:51.36JeffMyes there is
02:51.38blast007use the search
02:51.47blast007that won't be the exact name
02:52.14JeffMit'll have numbers in it somewhere ;
02:52.45bushido_banjothere's many libsdl but no libsdl-dev... there's many libsdl-*-dev
02:52.58JeffMyeah that's it
02:53.03JeffMwe did not give you an exaxt name
02:53.08JeffMwe expect you to use some common sense
02:53.13bushido_banjowhere *= sge, net1.2, console, ttf2.0, soun1.2.... etc etc
02:53.15blast007might some some specifically for certain audio libraries
02:53.17JeffMyou want the dev one that matches your regular one
02:53.21bushido_banjojeff chill dude
02:53.28bushido_banjoif u want to help fine
02:53.29JeffMI am chilled ;)
02:53.44JeffMI'm just saying that we won't be giving you specific names for your distro
02:54.12bushido_banjocool. so common sense would dictate i not install every single libsdl pkg in my repository, yes?
02:54.15JeffMthere should be a dev package that has the same name as your libsdl package, or very similar, use it
02:54.22JeffMyes, you use the one that matches
02:54.35JeffMthere is a libSDL for each of the different audio libs
02:55.05JeffMone of them is probably installed on your machine now, there should be a dev package with a similar name ( at least in the version numbers )
02:55.18bushido_banjook... but matches what? there are about 10 difft pkgs
02:55.26JeffMmatches what you have installed
02:55.30JeffMfor the lib
02:55.40bushido_banjoso.. probably the libsdl1.2debian
02:55.42bushido_banjo?
02:55.50bushido_banjothat's what i have installed
02:55.56JeffMis there a dev version?
02:56.02bushido_banjoand libsdl-image1.2
02:56.11blast007we don't use the image part afaik
02:56.12JeffMsdl image is a different thing
02:56.22JeffMeyah we don't use image, or net
02:56.31JeffMjust the core SDL
02:56.31blast007we do use sound, and whatever the input stuff is in
02:56.34bushido_banjok
02:56.39JeffMthat's all part of the core
02:56.47blast007k
02:56.53trepansound is separate, iirc
02:56.57JeffMwe don't use SDL mixer, that's the external audio lib
02:57.07JeffMsdl audio is not, sdl mixer is
02:57.12JeffMunless they changed that in 1.3
02:57.17bushido_banjolooks like i have libsdl1.2-dev installed already
02:57.21JeffMok
02:57.29JeffMdo you have mesa dev?
02:57.54trepanfwiw, debian has a separate libsdl-sound1.2-dev and libsdl-mixer1.2-dev
02:58.03JeffMeww
02:58.04bushido_banjoi installed libglu1-mesa-dev per the linux readme
02:58.15JeffMthen you need to tell us what the exact error is
02:58.18blast007I see libsdl-sound1.2-dev too
02:58.27blast007oh, guess trepan beat me to that
02:58.37bushido_banjoshould i install the sound1.2-dev and the mixer1.2-dev?
02:58.44JeffMwe don't use mixer
02:58.47bushido_banjok
02:59.01bushido_banjoi also have libgl1-mesa-dev
02:59.04bushido_banjoinstalled
02:59.10bushido_banjoi think that was in readme
02:59.10JeffMok
02:59.25JeffMthen get the error, anything else is just guessing
03:00.01bushido_banjolol. k. brb. and ty. :)
03:00.09JeffMplease use english
03:00.23bushido_banjoit's my first language even
03:00.31JeffMcould have fooled us.
03:00.39bushido_banjoah jeff there ya go again...
03:00.50trepanplz youz Nglesh!
03:01.35JeffMmake a snarky comment, get a snarky answer ;)
03:02.06bushido_banjofwiw, eyah... these are an eeenterestink englisher as well my friendnik
03:11.15*** part/#bzflag mrapplecomputer1 (n=admin@c-69-180-173-220.hsd1.mn.comcast.net)
03:17.49bushido_banjoare we still conversing jeff?
03:17.57JeffMhuh?
03:18.08bushido_banjoshall i put up a scrape and paste of my output?
03:18.19JeffMyou were getting an error message, I was writing a login server
03:18.39JeffMyou can use pastebin to paste your error
03:18.58bushido_banjowhich is... ?
03:19.07JeffMpastebin.bzflag.bz
03:19.19JeffMlets you put a lot of text in it and gives you a short url to paste here
03:19.27JeffMso it dosn't flood the channel
03:19.43bushido_banjouseful
03:19.47JeffMvery
03:22.22JeffMwow, error in autogen
03:22.35bushido_banjohttp://pastebin.bzflag.bz/d504803ce
03:22.37bushido_banjoyeah
03:23.04bushido_banjoi've compiled other stuff... so i dunno. though i did recently upgrade from jaunty
03:23.27JeffMwhere did you get the code from?
03:23.31JeffMsvn?
03:23.33bushido_banjoyes
03:23.39*** join/#bzflag Bambino (n=Bambino@S0106002191dd19a8.gv.shawcable.net)
03:23.44bushido_banjostraight off the wiki
03:23.46JeffMyou get the entire bzflag dir from trunk?
03:23.49bushido_banjowell the link anyway
03:24.31bushido_banjoi did this: svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag
03:24.43JeffMyeah that'd do it
03:24.54JeffMsomething is wonkey with autoconf is my guess
03:25.08JeffMperhaps newer versions have changed something
03:25.12bushido_banjohmmm. i will have to figure that out.
03:25.46bushido_banjois this the first autoconf issue on karmic? have others done this successfully?
03:25.53JeffMdunno
03:26.03JeffMnot many people use dev code
03:26.12JeffMsince it's not compatable with the release version
03:27.12JeffMif a developer had a problem they'd have checked in changes if they were needed.
03:27.33bushido_banjook. i will poke around to make sure that the issue isn't just my system config. autoconf should be fairly conserved through upgrades though, no?
03:27.55JeffMthey have broken old scripts before
03:27.59JeffMand will do so again
03:29.25bushido_banjoalrighty. sounds like i am on my own for this end of the prob. will see what i can find. thanks.
03:29.43JeffM'tis dev code, some development may be required :)
03:29.50JeffMwhat are you looking to do with it?
03:30.40bushido_banjobzflag?
03:30.46JeffM2.99.x
03:30.55blast007bushido_banjo: it builds fine on 9.04  ;)  maybe you should downgrade
03:31.01blast007grins
03:31.57bushido_banjojust wanted to config and see how client/server worked.
03:32.30JeffMsimilar to 2.0.x, but yeah looks like you'll have to figure out what got jacked up
03:32.32bushido_banjomaybe 9.04 is the answer. i upgraded both machines too.
03:32.53JeffM9.0.4 was pretty easy, C++, sdl dev, and bam it was was done
03:33.04blast007well, the real answer is fixing the build system if it's broken. 9.04 would just be a workaround.
03:33.09JeffMoh and curl dev
03:33.21blast007I don't think I even needed that
03:33.27JeffMtrue
03:33.31blast007curl is included with the tree
03:33.46JeffMI just always do it out of habbit
03:33.50blast007:)
03:34.01blast007I just install stuff until it works
03:34.07JeffMwell did
03:34.17JeffMno more linux installs here
03:34.32JeffMnot since the clean installs of 7
03:35.12bushido_banjomaybe i'll do a bootable usb drive with 9.04... it allows changes to be kept on a usb partition.
03:36.08bushido_banjothanks again you guys.
03:39.01*** part/#bzflag bushido_banjo (n=charles@c-67-164-121-179.hsd1.ca.comcast.net)
04:07.36remotei'm looking at the python plugins in bzflag source
04:07.57remotethere are imports of "BZFlag" but i don't find BZFlag.py anywhere?
04:07.58*** join/#bzflag xwissen (n=xaver@pD9ED57AB.dip.t-dialin.net)
04:08.08remotethat was my question lol
04:08.16JeffMthats' a very old plugin
04:08.24JeffMit hasn't been maintained
04:09.23remotedoesn't matter i'm looking for it
04:09.33remote2.0.12 source
04:09.38JeffMif you can't find it, it may not exist
04:09.48remoteoh!
04:10.02remotei think it might be provided through c++ code
04:10.15JeffMswig may be involved
04:10.25remoteyes that's it
04:10.27JeffMbut that plugin was abandoned LONG ago
04:10.29remotePyBZFlag.cpp
04:10.38remoteok that's not what i'm looking for
04:10.58remotei just wanted sample code on communicating through bzfs
04:11.06remotein python but it doesn't really matter
04:11.14JeffMwhat do you mean by "communicating" ?
04:11.22remotesending and receiving messages
04:11.28JeffMnetwork messages?
04:11.32JeffMlike to game clients?
04:11.34remotechat messages
04:11.45JeffMthat's just an API call
04:11.52JeffMBZ_SentTextMessage or something
04:12.00JeffMand an event when someone sends one to the server
04:12.28remoteit's event based?
04:12.30JeffManything a client does has to be event based for the API
04:12.41JeffMyou can't have a plugin hanging out in a loop polling
04:13.08remoteok
04:13.17remotei'm not writing a plugin though
04:13.19JeffMdo you want the chat message before or after the filter has it's way with it
04:13.22JeffMwhat are you doing?
04:13.37remotesearching for sample communication code
04:13.48remoteah ./include/bzfsAPI.h
04:13.49JeffMlike what the client does?
04:13.56remoteor ./src/bzfs/bzfsAPI.cxx
04:14.01remotelike chat messages
04:14.07remotei don't know what the client does
04:14.14remoteyeah i guess it's what it does
04:14.21JeffMthe client sends and receives chat messages ;)
04:14.23remotesince you can write and read other users
04:14.26JeffMthen you don't want the API at all
04:14.26remoteyes yes yes :)
04:14.35JeffMthere will not be any sample code that shows just chat messages
04:14.38remoteno i want to write my implementation but i need to see how it's done
04:14.41*** join/#bzflag Will07c5 (n=Will07c5@63.252.66.61)
04:14.45JeffMthen look at the client
04:14.58remotebz_sendTextMessage
04:15.03JeffMsince you would have to connect AS a client to get messages from the server
04:15.19JeffMall com from server to client uses the same message formating
04:15.28JeffMmessage code, size, player, data
04:15.39remotei'll just read the documentation if it's available?
04:15.42JeffMyou want to write raw sockets code that pretends to be a cleint?
04:15.44JeffMthere isn't any
04:15.45remoteyes
04:15.48remoteoh :(
04:15.50JeffMthen you need to emulate a client
04:16.07JeffMso you have to look at the client code
04:16.07JeffMcus you are writing a client
04:16.12JeffMchat is no different then any other message
04:16.20remoteok
04:16.31remoteare there clients i can look at somewhere?
04:16.32JeffMyour client would have to do a full login, and join as an observer player
04:16.36remotebzadmin?
04:16.43JeffMthat and bzflag are the only 2 clients
04:16.50JeffMthey share networking code
04:16.58JeffMwhat exactly do you want to do?
04:17.12JeffMmake a spam bot?
04:17.23JeffMor do some kind of inter server communication?
04:17.36remoteyeah a spam bot
04:17.43JeffMthen get the heck out
04:17.45JeffMgood bye
04:17.54remoteno i just thought your suggestion was funny
04:18.04JeffMwhat are you trying to do?
04:18.27remotei'm thinking of a relay bot but nothing chatty just something to manage users friend lists and see who's online and some basic inter server communication through it
04:18.40JeffMthat would be better served by a plugin
04:18.46JeffMthen you set it up on the server
04:18.49remotein one sentence i want to know who's online and who wants to match when i'm on
04:18.52JeffMinstead of having it connect over the net
04:19.15remoteit's probably trivial to make it connect to multiple servers through the net
04:19.31JeffMyes, then you'll get banned for spam joining
04:19.36remotei won't
04:19.40JeffMit's not cool to run bots on other people's servers
04:19.45remotebecause i will allow server owners to opt-in and opt-out
04:20.02JeffMthen write it as a plugin that talks to central server
04:20.08JeffMthen if they opt in, they install your plugin
04:20.15JeffMrather then you being able to force the issue by just connecting
04:20.21remotei don't know c++
04:20.25JeffMthen learn it
04:20.34remotei'm not interested
04:20.43remotedon't have much time to put on it either
04:20.43JeffMyour 'bot" will break every time there is a proto change
04:20.48JeffMthen why bother?
04:21.08remotehas there been protocol changes lately?
04:21.14JeffMdev chagnes it often
04:21.26JeffMand every major version has a different protocoll
04:21.35remoteso why does the bzflag 1.0 client stil work with the latest bzfs release?
04:21.43JeffMumm they don't
04:21.48JeffM1 and 2 are incompatable
04:21.54remoteok
04:21.56JeffM1 uses a 1.7x server
04:22.05JeffM3 will not be compatable with 2
04:22.09remotei feel like we're fighting and that's not what i'm looking for :)
04:22.16temporalDI'm pretty sure that remote is wanting to build this for the 2.0 current game - not the trunk dev code
04:22.34JeffMyou are dead set on one implementation, even if it is not the best
04:22.47JeffMtemporalD: I know, but I am saying his method will break when 3 shipps
04:22.48remotei didn't understand that
04:22.53JeffMit's not a good method
04:22.57JeffMbzflag is not IRC
04:23.02JeffMand that's how he's approaching it
04:23.10remotebut 3 has a inter server communication i was told
04:23.11JeffMtrust me, I've been down this road a few times :)
04:23.20JeffMyes, but that is not the same as a friends list
04:23.26remotewhat?
04:23.49JeffMyou want a friends list, that lets you see who's on line that you want to play with right?
04:23.56JeffMthen you want to send them a message and ask right?
04:24.01remotei understand your suggestions and agree there's a better way to do it but it's not gonna be me
04:24.13remotenow i'm interested to hack a bot real quick and forget about it for a while
04:24.16JeffMthen you are going to spend all your time making your own client
04:24.18Bambinoremote: use strayer's BZBuddies list. add friends.
04:24.20remotethat's all i'm ready to do
04:24.21JeffMthere is no "real quick"
04:24.34remoteit's just messages
04:24.35JeffMthe parts you think we have made allready we do not have
04:24.37remoteit must be trivial
04:24.48JeffMyou will have to read C++ to see what those messages are
04:24.58JeffMsince they are in the client code
04:24.59remotei can do that
04:25.12JeffMthen go disect a client and do a full login, with global auth
04:25.27JeffMonly then can you send chat messages on every server
04:25.34blast007or just finish the push stats site ...
04:25.43JeffMor do that ;)
04:25.50jcpremote: AAA_awright had a page somewhere that documented the 2.0 protocol
04:25.53JeffMthe push data should be pretty much there
04:26.05remotewhat's the push stats site?
04:26.29JeffMthe site that gets push stats from 3.0 and 2.0.x servers that would use the push plugin
04:26.46blast0073.0 has it built in (if that wasn't clear)
04:26.46JeffM3.0 sends usage data to a central server
04:26.46remotei have no idea what that is
04:26.57JeffMthen that site gives out data in an API
04:27.08blast007currently we pull (query) data from servers every 5 minutes
04:27.08JeffMso that people can do stuff like you want
04:27.16remoteah
04:27.18blast007instead, the game servers should push data to the central server
04:27.27remoteoh! yeah i get it
04:27.29JeffMit's much more accurate
04:27.32blast007since they know what's going on in more detail, instead of a snapshot every 5 minutes
04:27.51JeffMa plugin could be made for 2.0x that sends a subset of the data too
04:27.55JeffMall but tokens :(
04:27.56remotei have no idea what the central server does apart of serving files and authenticating users
04:28.06JeffMit's a different central servers
04:28.27*** join/#bzflag PianoRokR (n=chatzill@ks-76-7-209-93.dhcp.embarqhsd.net)
04:28.30remoteit would be easier if i could just read some doc
04:28.36JeffMthe general idea was to provide services so people like you could do what you want
04:28.44remotei understand
04:28.49JeffMlots of thigns would be easier if other things existed :)
04:29.00JeffMlife would be a lot easier if world hunger was solved
04:29.04JeffMbut it isn't
04:29.08remoteand if i knew c++
04:29.12JeffMso learn it
04:29.17JeffMit's not like its' that hard
04:29.21JeffMwhat langauges do you know?
04:29.50remotereally i've been using python for over 8 years and before that i had interestsin c,c++ but i really never found a need to learn any of them
04:29.58remotei don't do any low level stuff
04:30.01JeffMthe syntax is very similar
04:30.13JeffMother then the indents and memory management
04:30.22remotei've helped a friend last week with a c++ assignment
04:30.27remoteit was a pain in the ass
04:30.33JeffMonce you know how to program language just becomes a mechanism
04:30.48remotejust to read elements one by one line by line from stdin took us over 3 hours
04:31.08remotenot a great experience for me
04:31.17JeffMreally? I'd just read the stream and tok it up
04:31.21JeffMshould not be too hard
04:31.41remotebut let's be honest even if i knew c++ i probably wouldn't be qualified to implement a good plugin for real world use
04:31.46JeffMthe same concepts should work on any language, you may have to use a lib but you still should be able to do the same stuff
04:32.09remotewell the items were space delimited
04:32.15JeffMeven simpler
04:32.39remoteso apparently when you do for instance while(cin>>whatever) it reads them one by one
04:33.03JeffMyeah, if you do it that way
04:33.09JeffMloops ;)
04:33.12*** join/#bzflag KTL (n=KTL@d54C2FA87.access.telenet.be)
04:33.31remotewe tried to tokenize but had some other issues i don't really remember
04:33.33JeffMbut still, if you are looking for a quickie I don't think you'll find it
04:33.43JeffMyou bassicly have to implement a client
04:33.53JeffMit'll be a subset of messages but you'll be a client
04:34.03remotethis is how i see my client
04:34.03JeffMand you will get all the client messages, you'll have to filter out what you want
04:34.22remoteconnect, auth with central, forward auth token with server, receive messages, send message
04:34.23JeffMyou'll get TCP and UDP packets
04:34.27remotehow can this be so hard to do?
04:34.41JeffMthe hard part is in what messages you send and recive
04:34.49JeffMthe bzflag protcoll isn't text based
04:34.49remoteprivate ones
04:35.03remotei thought it was but ok
04:35.05JeffMyou can't just connect and send chat
04:35.17remotei see
04:35.21JeffMyou have to do all the little messages that an observer would do
04:35.28JeffMand then you show up in the player list
04:35.29JeffMas a player
04:35.39JeffMthen you'll get all the game packets
04:35.44JeffMsome of them will be chat messages
04:35.51JeffMyou filter those out, decode them, then parse them
04:36.03JeffMthen you send back your packets with the PMs
04:36.10JeffMformated as if they came from a client
04:36.22JeffMsome will be TCP, some will be UDP
04:36.39JeffMto get player names you'll have to keep your own player list, with each player ID
04:36.44JeffMcus all the packets just use PlayerID
04:36.50remoteok
04:36.57remotegives me a better idea
04:37.17JeffMthere are about 10 message you have to send, and about 30 you'll get back before you can "join" as a player
04:37.33JeffMyou'll probably do flag negotiation too
04:37.36remotei'm surprised :)
04:37.39JeffMand you'll have to respond to pings
04:37.46JeffMping packets I mean
04:37.53JeffMor you'l be seen as NR
04:37.53remoteicmp?
04:37.56JeffMnope
04:38.03JeffMMSG_Ping
04:38.12JeffMit's all in our protocoll
04:38.19JeffMIIRC those are over UDP
04:38.37mebigfatguyconnect as observer
04:38.56JeffMobservers still get pinged for a hearbeat to know if we can clear the connection
04:38.58mebigfatguyless messages
04:39.11JeffMobservers still get sent player updates
04:39.15mebigfatguyyup
04:39.25JeffMyou'll want to conenct just like bzadmin does, that's the minium messages we'll send a client
04:39.37JeffMhow goes it mebigfatguy?
04:39.43mebigfatguyallgood
04:39.47JeffMcool
04:39.58remotei'll have a look at the python plugin
04:40.05remoteyou said it was outdated?
04:40.12JeffMremote: that dosn't do ANYTHING that you need
04:40.21JeffMall it does is expose the server API to python
04:40.34JeffMand that dosn't use sockets it just calls  the C++ bzflag API
04:40.59JeffMplugins never see any of the raw messages
04:41.14JeffMit's all done with the API, so that we can keep the API consitent from one version to another
04:41.23JeffMso people don't have to redo plugins every time we change something
04:41.43remoteit was developed to make robots in python wasn't it?
04:41.48JeffMnope
04:41.55JeffMit was developed to make plugins in python
04:42.01JeffMyou are thinking of bzrobots
04:42.07JeffMthat had a python module
04:42.12remoteoh and robots can have plugins?
04:42.12JeffMthat coudl define bot logic
04:42.15JeffMno
04:42.20JeffMit has logic modules
04:42.27JeffMbut again that is all via the botcode API
04:42.30remote# ./bzrobots -team red pybot@localhost ../../bots/python/TestRobot.py
04:42.31JeffMnot packets or messages
04:42.41remotei see that in the wiki
04:42.42JeffMyeah that's a logic module
04:42.47remoteoh ok
04:42.50JeffMit has the callbacks for various events
04:42.55JeffMno packets or messages
04:43.13JeffMall our network traffic is done in C++ way down in the core of the game
04:43.21JeffMso we can change it with out affecting much else
04:43.35remotei understand that
04:43.56JeffMthere may be some php or perl scripts that do a bassic connection to a server to get a player list
04:44.06JeffMbut none of them will connect to send/recive chat
04:44.39JeffMwe very specificly don't allow chat to be sent untill you do a full connection, as some people were doing a partial connect and sending spam
04:45.00remoteso i'm interested about the BZFS API, correct?
04:45.13JeffMyou said you didn't want to make a server side plugin right?
04:45.27mebigfatguyyou really just want the socket protocol
04:45.29JeffMthat's all the API is good for, server side plugins
04:45.40JeffMyeah you want to look at bzadmin and see how it connects
04:45.46remotedid you expect your arguments to be unworthy?
04:45.46JeffMand what it does with NetHandler
04:45.58remoteyou made me change my mind what can I say? ;-)
04:46.02JeffMif you want to write a plugin, then it's trivial to get chat
04:46.20JeffMjust throw a handler in for Bz eFilteredChatMessageEvent
04:46.45remotei have to look at it first and i'll ask back a few questions
04:46.49JeffMor call, Bz sendTextMessage to send
04:46.57remotei don't even know what a handler is condidered to be
04:47.03remoteevent handler?
04:47.13JeffMit's a class you implement that is derived from BZ_EventHandler
04:47.21JeffMyou register it with a call
04:47.27remotei only have an idea of how it works but no image of how it's done in c++ i'll look at plugins first
04:47.28JeffMall the plugins do this there are many samples
04:47.45remoteyeah so you overwrite events and do whatever inside them?
04:47.51remoteit's a subclass?
04:48.01JeffMit's a derived class that implements a virtual member
04:48.11JeffMthen you can do what you want with the data
04:48.21remotei get it
04:48.32remotetwisted works like that
04:48.38remotepython twisted
04:48.39JeffMmany things work like that
04:48.43JeffMhttp://my.bzflag.org/w/Event%28API%29
04:48.51JeffMI even wrote an article on it ;)
04:48.58remotegreat
04:49.39JeffMonce you implement the process method, and cast the eventData pointer to the right class for the event type, then you can read the data in the event and do whatever you want
04:50.01remotei don't think i'll be up to the task of doing this plugin but i'll read around and find out more about it
04:51.05JeffMif you have been programin for 8 years it should not be too big of a task
04:51.41blast007remote: there's a ton of plugins you can look at for examples
04:51.52remoteyeah it's one of the first thing i'll do
04:55.11remotestragger don't use a plugin right?
04:55.26remotestrayer
04:56.04remotenice guestbook: ″> '><script>alert('XSS');</script>
04:56.11JeffMno
04:56.16JeffMbut he dosn't send chat messages
04:56.23remotedoes the webleague devs have anything to do with bzflag?
04:56.34JeffMhe connects and does a game query and then dissconnects
04:56.40remoteok
04:56.41JeffMnot really
04:57.10JeffMthere is php and perl code that shows how to do a player query
04:57.18JeffMthat's all the stats sites do
04:57.35blast007but then you only get updates when you query
04:57.53JeffMand walking lists of servers can take a while
04:58.02remotei think logDetail is what i need to read
04:58.06JeffMit's also a waste of bandwith
04:58.17JeffMlog detail dosn't send chat
04:58.29remoteis receives some however
04:58.33remoteare there plugins who send chat?
04:58.34JeffMthey all do
04:58.40JeffMreceive I mean
04:58.46JeffMplayer history tracker sends
04:58.52remotenot using eMessageFilteredEvent, that's how i found logDetail
04:58.58JeffMif you want a sample of an event handler look at airspawn
04:59.01blast007playHistoryTracker
04:59.14JeffMone event and thats' the entire plugin :)
05:00.46remoteairspawn airspawnHandler;
05:00.52remotethat instanciates airspawn?
05:00.57remotehowever you spell that
05:01.08JeffMyeah that makes an object of that class
05:01.18remoteok
05:01.19JeffMallocates the memory etc..
05:04.26*** part/#bzflag PianoRokR (n=chatzill@ks-76-7-209-93.dhcp.embarqhsd.net)
05:09.01remotewhat if i would relay the messages to a network service, would that be asking for trouble?
05:09.24JeffMyou can do that in an idle handler
05:09.30JeffMbut if that's what you want to do that's fine
05:09.45JeffMall the plugin has to do is be glue
05:09.55JeffMthat's all the python plugin is/was
05:10.45remotewhat's an idle handler?
05:10.54JeffMjust another event
05:11.05JeffMit's called once for each loop of the server
05:11.21JeffMit's a good place to check for external message and stuff from outside the plugin
05:11.35JeffMor do any processing you need to do that isn't tied to events
05:12.27JeffMthe chat message from people won't be from any players on the servers's player list so they won't be tied to any events
05:12.50JeffMso the idle loop would be a good place to check for them from the rest of your system, then fire them off into bzfs to be sent to the player's client
05:12.53mebigfatguyaltho you may want to check only every n idle events for some rational value of n
05:13.13JeffMyou can set a time limit on idle calls
05:13.35JeffMby default they are called once for each network message, and then once every 5 seconds when there are no net messsages
05:13.46JeffMwell once for each set of net messages at a time
05:13.51mebigfatguyah
05:14.06JeffMit tries to do a throttle thing to not eat too much CPU
05:14.14JeffMthe plugin can  change that 5 second time
05:15.00remoteso that plug-in would have to ask a central server for if it should send its local players messages as well
05:15.18remoteotherwise it cannot work so it really has to rely on some external data source
05:15.27JeffMyou'd have to have something that was being the frontend for the player looking for buddies, so yeah
05:15.27remotehmm
05:15.41JeffMI mean how did you expect people to use your app?
05:15.49remotei was thinking of something like chanserv, nickserv
05:15.55JeffMon IRC?
05:15.58remotesend it commands, list online buddies, add, remove buddies
05:15.59remoteno no
05:16.04remotebut in the same fashion
05:16.08JeffMwhere would it run?
05:16.11JeffMphusicaly?
05:16.18JeffMwow bad speling :)
05:16.32remoteat first, like you said, i was thinking of it being like an IRC bot
05:16.41JeffMwell a bot still has to run somewhere
05:16.50JeffMyour plugin could contact it however you wanted
05:16.59remotenow i'm thinking of making it a network service that would receive and send data to a bzflag plug-in
05:16.59JeffMsockets, or what not
05:17.07JeffMsure it's been done
05:17.12JeffMI've done it with libIRC before
05:17.24JeffMjust do your net processing in the idle loop
05:17.37remotedo you have an example of an idle loop?
05:17.55remotei understood what it was but have no idea how it looks like, if any different from a normal event handler?
05:18.00JeffMit's just an event
05:18.06JeffMBZ_Idle or something
05:18.10remoteoh
05:18.10JeffMinstall it just like the other events
05:18.38JeffMyou can use the same handler as the others, you'll just get that event type when the idel loop gives you time
05:18.39blast007the tick event, you mean?
05:18.45JeffMyeah that
05:18.50JeffMcould not remember the name
05:18.58JeffMit's bassicly an idle loop for bzfs
05:19.07blast007just make sure you don't run a task *every* tick
05:19.22JeffMnot one that takes a lot of time
05:19.23blast007set up a variable that keeps track of when stuff was done, and then only do it every X seconds
05:19.26JeffMor fire off anothe thread
05:19.35blast007yeah
05:20.03remotei can't find idle nor Idle in bzfsapi.cxx
05:20.07blast007tick
05:20.08remotebzfsAPI.cxx
05:20.10JeffMit's tick
05:20.14JeffMas blast said
05:20.22remote?tick
05:20.24remoteoops
05:21.06remotebz_TickEventData
05:21.12JeffMthat's the data
05:21.14JeffMfor that event
05:21.17JeffMit's useless :)
05:21.58remotebz_eTickEvent
05:22.09JeffMthat'd be it
05:22.18remote:)
07:34.06*** join/#bzflag tupone (n=alfredo@gentoo/developer/tupone)
07:34.06*** mode/#bzflag [+v tupone] by ChanServ
07:57.45*** join/#bzflag davidmccabe (n=david@host-218-34.resnet.pdx.edu)
07:58.04davidmccabeSorry, I haven't been able to find this online. What year did bzflag begin to be developed?
07:59.53*** join/#bzflag bushido_banjo (n=charles@c-67-164-121-179.hsd1.ca.comcast.net)
08:03.49davidmccabenm, finally found it.
08:04.22bushido_banjoanyone else here running ver 2.99.x?
08:26.40*** part/#bzflag bushido_banjo (n=charles@c-67-164-121-179.hsd1.ca.comcast.net)
08:34.06*** join/#bzflag ramirez (n=ramirez@189.124.144.197)
08:34.33*** join/#bzflag TutTankAhmon (n=TutTankA@AMontpellier-751-1-20-191.w90-4.abo.wanadoo.fr)
09:14.01*** join/#bzflag chaoscon (i=jeremy@smartserv/ceo/chaoscon)
15:21.06*** join/#bzflag Upsetter (n=ups@89.246.206.10)
15:55.00*** join/#bzflag bryjen (n=bryjen@63.147.94.149)
15:55.01*** mode/#bzflag [+v bryjen] by ChanServ
15:56.47*** join/#bzflag xaver (n=xaver@pD9ED57AB.dip.t-dialin.net)
15:58.15*** join/#bzflag temporalD (n=temporal@bzflag/serverop/TemporalDistraction)
16:59.47*** join/#bzflag ramirez (n=ramirez@189.124.144.197)
18:00.39*** join/#bzflag bushido_banjo (n=charles@c-67-164-121-179.hsd1.ca.comcast.net)
18:01.46*** join/#bzflag jcp (n=jw@unaffiliated/javawizard2539)
18:11.35*** part/#bzflag bushido_banjo (n=charles@c-67-164-121-179.hsd1.ca.comcast.net)
18:45.27*** join/#bzflag Think_Differentl (n=fatass@pool-96-231-88-151.washdc.east.verizon.net)
19:04.06*** join/#bzflag MarderIII (n=MarderII@enneman.demon.nl)
19:06.25*** join/#bzflag TimRiker (n=timr@bzflag/projectlead/TimRiker)
19:06.26*** mode/#bzflag [+o TimRiker] by ChanServ
19:49.14brlcadhttp://www.youtube.com/watch?v=N65MsSqkNzU&hd=1
19:55.37*** join/#bzflag jcp (n=jw@unaffiliated/javawizard2539)
19:59.18brlcadthat's a pretty nice HD video.. wish it had some sound with it
20:02.18*** join/#bzflag bier|tp (n=bier@pD9E2D168.dip.t-dialin.net)
20:03.08*** join/#bzflag bier_ (n=bier@pD9E2D168.dip.t-dialin.net)
20:21.54*** join/#bzflag Winny (n=iWinny@bzflag/contributor/Winny)
20:26.25*** join/#bzflag Wreckage (n=Wreckage@mail.freegroups.net)
20:38.30tsI have a problem with the weblogin script. There is nothing as reply when checking for the verified or the registered users group.
20:39.00tsHow am I supposed to check for the verified group using the weblogin script?
20:39.42CIA-65BZFlag: 03JeffM2501 * r20683 10/trunk/admin/master-bans.txt: remove class B ban.
20:40.32*** join/#bzflag me1 (n=ausom@96.237.180.246)
20:41.44*** join/#bzflag JeffM1 (n=JefferyM@67-131-219-2.dia.static.qwest.net)
20:42.05JeffM1so the masterban file got changed on the webserver?
20:48.07tsHmm, now the reply is ok..I guess something was temporary wrong at the webserver, maybe timeout.
20:51.30JeffM1how do you find out where a symlink goes?
20:51.52WarPig__ls -l
20:52.29BulletCatcherts: The my.bzflag.org web server has a chronic heavy load.  It is not unusual for it to take too long to respond.
20:52.49JeffM1maybe it's cheating
20:53.30BulletCatcherCan we disable the F5 button on the web server?
20:53.49JeffM1all it has is a line drawn on the screen ;)
20:54.08tsBulletCatcher: I know..just it worked in browser but not in script.
20:54.09WarPig__A little torking with a screwdriver will disable the web server's F5 button.
20:55.00*** mode/#bzflag [+o JeffM] by ChanServ
20:55.18tsBulletCatcher: and when I wrote here it worked in neither one
20:55.52JeffMfigures out the new masteban system
21:01.49brlcadts: run: curl -o /dev/null -s -w "%{time_total}" http://my.bzflag.org/db/?action=LIST
21:02.51brlcadrun it a few times, what's it report?
21:14.56blast007ts: uh... wouldn't "VERIFIED" always be true if they get a token?
21:15.10blast007iirc, that's all bzfs does.
21:15.57blast007yep, bzfs just adds "VERIFIED" if the user authenticated properly. it's not a real group.
21:17.34AAA_awrightIt is a pseudo-group to use one word
21:44.24tsblast007: I do now check if bzid > 0
21:46.47tsbrlcad: it reports values between 3,114 and 1,536. I guess the average is some high 2,x number.
21:47.26Thumper_brlcad: for me 0.8-7.2
21:48.24tsbrlcad: irssi is also noticeable slower on the new server
21:52.40JeffMhow much CPU us being used on the new one for stuff like that?
21:57.46blast007ts: just check to TOKGOOD
21:57.53blast007since the token doesn't have to be a number
21:58.01blast007we treat it as a string
21:58.27blast007er, I mean, the bzid
21:58.57tsblast007: Well, I need the bzid for database work (this took me 20 seconds to write with irssi)
21:59.10blast007right
21:59.21blast007it's not a number. store it as a string, and treat it as such.
21:59.50blast007assume them to be in the "VERIFIED" group if you get a TOKGOOD response when checking their token
21:59.51tsErr, the bzid is NOT a number?!?
22:00.03blast007it doesn't have to be, no
22:00.04JeffMit may not always be
22:00.09JeffMthat is the point he is making
22:00.11tssh**
22:00.20JeffMwe treat it like a string so you should too
22:00.28tsOk, back to database design stage
22:00.56JeffMsounds like you need to go back to your basic research :)
22:01.06blast007ts: have a "externalid" value in your players table
22:01.19blast007not like you need to redo all your tables
22:01.42*** join/#bzflag SpazzyMcGee (n=SpazzyMc@bzflag/contributor/SpazzyMcGee)
22:02.50tsJeffM: I thought it would be safe to assume it's a number, I cast it to int each time it's used
22:03.21JeffMI know what you thought, that's why I said it may be time to go back to your basics, as it seems that some of your assumptions are invalid
22:03.42JeffMisn't there php for verifying a token already?
22:03.51JeffMfrom weblogin?
22:04.11tsyes, I use the weblogin script
22:04.22tsbut the data needs to be processed
22:04.44JeffMdoesn't the php sample we provide with that do that processing?
22:04.48JeffMand verify the user?
22:04.50tsthe tokens need to be validated
22:05.00JeffMyes, we provided a checktoken function to do that
22:05.04tsThe default checkToken script does not work for me.
22:05.11JeffMwhy not?
22:05.33JeffMare you using your own copy of the webauth page ? or calling ours?
22:05.45tsIt's years ago I tested but IIRC it always said token invalid
22:05.58tsfor my account, other accounts worked
22:05.59JeffMI've used it fine with out issue
22:06.10tsbut some could replicate the issue with their account
22:06.35JeffMwhatever you do you'll have to do the same thing that script does
22:06.38tsI am calling the weblogin script
22:06.47JeffMso why nto just debug the checktoken and fix it
22:06.47tsjust validating is custom
22:06.56JeffMwhy not fix the one we have
22:07.35tsI chatted with menotume and he sent me a new checkToken script that only needed very few mods.
22:07.48JeffMok, then why not check that in?
22:08.13JeffMmy point is, that you should be helping the rest of the community by fixing what we have instead of replacing it with your own custom stuff.
22:08.23tsWell, I don't know if it would work for all, like you said about assumptions
22:08.32JeffMnevermind
22:08.38JeffMit's pointless
22:09.20tsI could show what I have and may check in if you say it would be safe
22:09.42JeffMif you don't have the stones to check it in, just let someone else write it
22:09.57JeffMI know what we have works, I've use it
22:10.13JeffMI've used it's exact method in a number of plugins as well
22:10.19JeffMthe entire webadmin system is bassed off it
22:10.32tsLongdon's gu
22:10.34tsoops
22:10.55tshis gu server had the same problem, too
22:11.21JeffMumm ok
22:11.31JeffMdosn't say what the problem is ;)
22:11.32tsI never found out what the issue was and why it worked fine on other machines
22:11.46JeffMthat tells me it's a config issue on those machines
22:11.53JeffMor you don't fully undertstand the problem
22:11.58JeffMand chose to just ignore it
22:12.09JeffMit dosn't matter
22:12.22JeffMif your not confident in what is wrong, there is no point in checking anything in
22:12.34JeffMif there is a real problem someone else will fix it when they need to
22:17.02blast007I use the checkToken.php file and it works just fine
22:19.07blast007in fact, I just used it today (though I did convert it to a static PHP5 class instead of it being a function, but it's the same code)
22:19.55blast007so you're either using it wrong, or the PHP configuration isn't set up the way the code expects
22:23.05JeffMleauge system should totaly be written like facebook :)
22:23.30blast007JeffM: with daily mafia wars invites?
22:23.32blast007;)
22:23.36JeffMsadly
22:23.51JeffMbut apps would not be a bad thing in it
22:23.57JeffMlike friends lists etc..
22:30.09JeffMmake teams be groups, make leauges be groups of groups
22:30.20JeffMthen give it an interface to group manager
22:30.23JeffMit'd be awesome
22:35.14JeffMor we could just make bzflag auth against facebook
22:40.39*** join/#bzflag PianoRokR (n=chatzill@ks-76-7-209-93.dhcp.embarqhsd.net)
22:52.40*** part/#bzflag PianoRokR (n=chatzill@ks-76-7-209-93.dhcp.embarqhsd.net)
22:57.17*** join/#bzflag PrezKennedyII (i=Matthew@whitecalf.net)
23:00.00*** part/#bzflag bryjen (n=bryjen@63.147.94.149)
23:02.06AAA_awrightWe could take a round trip to the list server out if the list server cryptographically signs a request to join a server from a client that has a callsign and password... assuming signing the request is less stressful than verifying tokens
23:02.42AAA_awrightPerhaps I am overthinking this
23:02.44JeffMI can't see how that would be faster
23:02.58JeffMtonen verify is a very fast lookup
23:03.06JeffMbut then there is also the group thing
23:03.35AAA_awrightbzfs verifies the list server signed the request, and verifies it is the intended recipient of the request
23:03.38JeffMyou'd just be pushing that group lookup to the client check, and then you'd have to push all groups to the client and sign them
23:03.48JeffMI don't think you'd buy anything
23:04.08JeffMit's also a little more exposed as a server woudl see all the groups that you are in.
23:04.13JeffMnot just the ones it asked for
23:04.28AAA_awrightJust a round trip after you have connected to bzfs, possibly extra CPU usage on the list server depending on what you are doing
23:04.46AAA_awrightSo, faster joins at the minimum
23:04.50JeffMCPU is what we have a problem with
23:04.59JeffMnot bandwith
23:08.08AAA_awrightI realize that much... the list server already does an MD5 operation, it couldn't be infeasible that you do something similar in CPU usage
23:08.24AAA_awrightHas anyone profiled MySQL/apache to see what it is coming from? Handling network connections, hard disk activity, or what?
23:08.42JeffMSQL hits
23:09.06JeffMit's usualy apache waiting on SQL
23:09.28JeffMdosn't really matter tho, it's all going to ldap
23:09.40AAA_awrightWhich doesn't index any better
23:09.42JeffMthe system is writen, just needs to be finalized and hooked up
23:09.49JeffMit's distributed
23:10.48AAA_awrightSo could MySQL... it's a matter of setup... to what degree it improves things idk
23:11.06JeffMit's more a mater of what system is closer to beeing done
23:11.17JeffMand 2 years and 10,000$ has been spent on ldap
23:12.59JeffMI do know that spreading SQL out was discussed at one point, but I don't know why it fell to the wayside
23:25.25*** join/#bzflag xaver__ (n=xaver@pD9ED57AB.dip.t-dialin.net)
23:27.10AAA_awrightThe server and group tables are fully indexed right?
23:27.34AAA_awrightI would think so but it is easy to forget about it
23:27.44JeffMgroups are stored in phpbb
23:27.58AAA_awrightThe server advertise list
23:28.09JeffMit's a single table somewhere
23:28.25JeffMI belive part of the issue is the way phpbb store stuff is "odd"
23:28.37JeffMthat's why we want to get away from it to have a more optimal system
23:28.50JeffMand it's easy to get web services to auth against ldap
23:28.58AAA_awrightIt is in two separate databases, though that isn't much of a problem... it's just unusual
23:29.15JeffMget the code and look
23:30.02AAA_awrightblast007: Have you ever run DESCRIBE on the queries bzfls.php uses?
23:31.30JeffMI think the main goal now is to put work into moving to the new system rather then asking questions about the old one
23:32.17JeffMlast I had heard the big thing was just that group manager had to be finished.
23:33.21AAA_awrightIf it is the same group manager I was looking at a year ago, it isn't coded in a way that is going to make the most efficient use of the database
23:33.47JeffMIIRC groups arn't in a database, they are in ldap
23:34.00JeffMbut if that's the case you should help them finish it :)
23:34.11AAA_awrightA database by my definition :)
23:34.22JeffMgroup management dosn't happen that often so it dosn't have to be super fast
23:34.32JeffMwe just need some meachanism for people to manage them
23:35.04JeffMand phpbb can't manage ldap groups, so we need SOMETHING to manage them before we can swap
23:35.15JeffMsince when we swap we have to at least have the same featureset we have now
23:35.21AAA_awrightI am seeing similar things with bzfls.php right now... bzbb3_users is being queried multiple times when you could query it once for instance
23:35.42JeffMhas deja vu
23:36.17AAA_awrightphpbb doesn't need be the one to manage groups anyways... that isn't ideal as you have pointed out
23:36.25JeffMwe don't want it to be
23:36.30JeffMwe want group manager
23:37.02JeffMusing a bbs to track game users is just stupid
23:40.40JeffMgroup manager has a decent spec, someone just needs to write it
23:41.05JeffMthen it's just populating it all with phpbb data, and moving it all over
23:41.29JeffMthen split it up, see how it runs, and optimise from there.
23:56.36*** join/#bzflag mrapplecomputer1 (n=admin@c-69-180-173-220.hsd1.mn.comcast.net)
23:57.07brlcad:) heh

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.