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.46 | remote | does anyone has a rough estimation of bandwidth consumption for an active bzfs server? |
00:45.18 | temporalD | there was an estimate on a BZBB post - I'll see if I can find it |
00:45.58 | blast007 | remote: Missile Wars 2 uses between 200Kbit/sec (maybe 6 players?) and 2Mbit/sec (around 30 players?) |
00:48.19 | remote | does 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.39 | remote | for 30 days |
00:48.49 | blast007 | I peak at around 2.4Mbit/sec |
00:49.01 | remote | ok so say 3Mbit/sec during 30 days |
00:49.08 | *** join/#bzflag bier|tp (n=bier@pD9E2DAE6.dip.t-dialin.net) |
00:49.21 | blast007 | here's a bandwidth chart for this month: http://bit.ly/XVArl |
00:49.33 | blast007 | and you probably wouldn't get past 1Mbit |
00:49.44 | blast007 | there isn't that many players on at any one time |
00:50.08 | blast007 | and I'm using an example of one of the busiest servers |
00:50.48 | remote | if not the busiest |
00:51.23 | blast007 | well how much bandwidth do you have to work with..? |
00:51.24 | remote | so it's fair to say you should expect 100G per month for an active server |
00:51.30 | remote | 300GB |
00:51.55 | remote | i just want to have an idea |
00:51.55 | blast007 | I use 250GB a month total for everything I do |
00:52.05 | remote | what is it that you do? |
00:52.14 | blast007 | host a few servers, main one being MW2 |
00:52.35 | blast007 | have a web server that probably only pushes out a hunderd meg a month |
00:52.58 | remote | you include that in your 250GB? |
00:53.22 | blast007 | yeah.. that chart there is for everything |
00:53.29 | remote | oh! |
00:53.36 | blast007 | that's recorded at the switch port by my host |
00:53.36 | remote | ok |
00:53.42 | remote | that gives me a good idea |
00:54.09 | blast007 | http://bit.ly/4AWlyX <-- october |
00:54.33 | blast007 | green is upstream |
01:02.28 | remote | that doesn't include the texture files or whatever is required to be downloaded from the clients before joining as a player? |
01:05.47 | blast007 | the textures aren't usually hosted on the computer running the server |
01:06.00 | blast007 | they would be on images.bzflag.org |
01:06.08 | blast007 | otherwise most players won't see them |
01:09.46 | remote | because of the download list ACL |
01:10.48 | blast007 | yeah |
01:11.05 | remote | btw someone told me about using hidden lines to see through objects |
01:11.25 | remote | i can see through some mesh objects i think that's all |
01:11.57 | remote | i noticed yesterday playing fancy 1vs1 i could see through the cones there |
01:12.33 | remote | thought 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.41 | bushido_banjo | blast are you around? |
02:46.19 | blast007 | yes |
02:46.31 | blast007 | bushido_banjo: sup? |
02:46.48 | bushido_banjo | general q's about compiling 2.99.x |
02:46.51 | bushido_banjo | attempt failed |
02:47.10 | bushido_banjo | want to ask for link with complete info for ubuntu karmic... |
02:47.23 | JeffM | there isn't one |
02:47.29 | JeffM | what errors do you get? |
02:48.02 | bushido_banjo | i nuked it but will reattempt and give you that info... i just thought there might be a useful link to go by... |
02:48.12 | blast007 | there is a readme file for linux... |
02:48.18 | bushido_banjo | yes |
02:48.20 | JeffM | we don't make pages that describe how to build on every distro |
02:48.25 | JeffM | just the readme |
02:48.25 | bushido_banjo | sure makes sense |
02:48.28 | JeffM | it's also dev code |
02:48.53 | JeffM | do you recal what kind of error it was? |
02:48.53 | bushido_banjo | any known issue compiling on amd64? |
02:48.55 | JeffM | nope |
02:48.55 | bushido_banjo | i think it was a header issue |
02:49.04 | JeffM | a gcc header? |
02:49.17 | JeffM | did you install the C++ compiler? |
02:49.19 | JeffM | and sdl dev? |
02:49.20 | bushido_banjo | i'd be guessing. i will be right back with exact info |
02:49.25 | bushido_banjo | yes have g++ |
02:49.33 | JeffM | sdl dev? |
02:49.45 | bushido_banjo | lemme check.. that is lib? |
02:49.46 | JeffM | and do you have an nvidia or ATI card? |
02:49.59 | bushido_banjo | ati |
02:50.08 | JeffM | make sure mesa dev is installed to |
02:50.10 | JeffM | too |
02:50.15 | bushido_banjo | k |
02:50.27 | bushido_banjo | sdl dev is libsdl? |
02:50.35 | blast007 | yeah |
02:50.44 | blast007 | probably has -dev at the end ;) |
02:50.45 | JeffM | make sure it's the dev package |
02:51.28 | bushido_banjo | no libsdl-dev avail in my repository listing... |
02:51.35 | bushido_banjo | can do apt install tho |
02:51.36 | JeffM | yes there is |
02:51.38 | blast007 | use the search |
02:51.47 | blast007 | that won't be the exact name |
02:52.14 | JeffM | it'll have numbers in it somewhere ; |
02:52.45 | bushido_banjo | there's many libsdl but no libsdl-dev... there's many libsdl-*-dev |
02:52.58 | JeffM | yeah that's it |
02:53.03 | JeffM | we did not give you an exaxt name |
02:53.08 | JeffM | we expect you to use some common sense |
02:53.13 | bushido_banjo | where *= sge, net1.2, console, ttf2.0, soun1.2.... etc etc |
02:53.15 | blast007 | might some some specifically for certain audio libraries |
02:53.17 | JeffM | you want the dev one that matches your regular one |
02:53.21 | bushido_banjo | jeff chill dude |
02:53.28 | bushido_banjo | if u want to help fine |
02:53.29 | JeffM | I am chilled ;) |
02:53.44 | JeffM | I'm just saying that we won't be giving you specific names for your distro |
02:54.12 | bushido_banjo | cool. so common sense would dictate i not install every single libsdl pkg in my repository, yes? |
02:54.15 | JeffM | there should be a dev package that has the same name as your libsdl package, or very similar, use it |
02:54.22 | JeffM | yes, you use the one that matches |
02:54.35 | JeffM | there is a libSDL for each of the different audio libs |
02:55.05 | JeffM | one 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.18 | bushido_banjo | ok... but matches what? there are about 10 difft pkgs |
02:55.26 | JeffM | matches what you have installed |
02:55.30 | JeffM | for the lib |
02:55.40 | bushido_banjo | so.. probably the libsdl1.2debian |
02:55.42 | bushido_banjo | ? |
02:55.50 | bushido_banjo | that's what i have installed |
02:55.56 | JeffM | is there a dev version? |
02:56.02 | bushido_banjo | and libsdl-image1.2 |
02:56.11 | blast007 | we don't use the image part afaik |
02:56.12 | JeffM | sdl image is a different thing |
02:56.22 | JeffM | eyah we don't use image, or net |
02:56.31 | JeffM | just the core SDL |
02:56.31 | blast007 | we do use sound, and whatever the input stuff is in |
02:56.34 | bushido_banjo | k |
02:56.39 | JeffM | that's all part of the core |
02:56.47 | blast007 | k |
02:56.53 | trepan | sound is separate, iirc |
02:56.57 | JeffM | we don't use SDL mixer, that's the external audio lib |
02:57.07 | JeffM | sdl audio is not, sdl mixer is |
02:57.12 | JeffM | unless they changed that in 1.3 |
02:57.17 | bushido_banjo | looks like i have libsdl1.2-dev installed already |
02:57.21 | JeffM | ok |
02:57.29 | JeffM | do you have mesa dev? |
02:57.54 | trepan | fwiw, debian has a separate libsdl-sound1.2-dev and libsdl-mixer1.2-dev |
02:58.03 | JeffM | eww |
02:58.04 | bushido_banjo | i installed libglu1-mesa-dev per the linux readme |
02:58.15 | JeffM | then you need to tell us what the exact error is |
02:58.18 | blast007 | I see libsdl-sound1.2-dev too |
02:58.27 | blast007 | oh, guess trepan beat me to that |
02:58.37 | bushido_banjo | should i install the sound1.2-dev and the mixer1.2-dev? |
02:58.44 | JeffM | we don't use mixer |
02:58.47 | bushido_banjo | k |
02:59.01 | bushido_banjo | i also have libgl1-mesa-dev |
02:59.04 | bushido_banjo | installed |
02:59.10 | bushido_banjo | i think that was in readme |
02:59.10 | JeffM | ok |
02:59.25 | JeffM | then get the error, anything else is just guessing |
03:00.01 | bushido_banjo | lol. k. brb. and ty. :) |
03:00.09 | JeffM | please use english |
03:00.23 | bushido_banjo | it's my first language even |
03:00.31 | JeffM | could have fooled us. |
03:00.39 | bushido_banjo | ah jeff there ya go again... |
03:00.50 | trepan | plz youz Nglesh! |
03:01.35 | JeffM | make a snarky comment, get a snarky answer ;) |
03:02.06 | bushido_banjo | fwiw, 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.49 | bushido_banjo | are we still conversing jeff? |
03:17.57 | JeffM | huh? |
03:18.08 | bushido_banjo | shall i put up a scrape and paste of my output? |
03:18.19 | JeffM | you were getting an error message, I was writing a login server |
03:18.39 | JeffM | you can use pastebin to paste your error |
03:18.58 | bushido_banjo | which is... ? |
03:19.07 | JeffM | pastebin.bzflag.bz |
03:19.19 | JeffM | lets you put a lot of text in it and gives you a short url to paste here |
03:19.27 | JeffM | so it dosn't flood the channel |
03:19.43 | bushido_banjo | useful |
03:19.47 | JeffM | very |
03:22.22 | JeffM | wow, error in autogen |
03:22.35 | bushido_banjo | http://pastebin.bzflag.bz/d504803ce |
03:22.37 | bushido_banjo | yeah |
03:23.04 | bushido_banjo | i've compiled other stuff... so i dunno. though i did recently upgrade from jaunty |
03:23.27 | JeffM | where did you get the code from? |
03:23.31 | JeffM | svn? |
03:23.33 | bushido_banjo | yes |
03:23.39 | *** join/#bzflag Bambino (n=Bambino@S0106002191dd19a8.gv.shawcable.net) |
03:23.44 | bushido_banjo | straight off the wiki |
03:23.46 | JeffM | you get the entire bzflag dir from trunk? |
03:23.49 | bushido_banjo | well the link anyway |
03:24.31 | bushido_banjo | i did this: svn co https://bzflag.svn.sourceforge.net/svnroot/bzflag/trunk/bzflag |
03:24.43 | JeffM | yeah that'd do it |
03:24.54 | JeffM | something is wonkey with autoconf is my guess |
03:25.08 | JeffM | perhaps newer versions have changed something |
03:25.12 | bushido_banjo | hmmm. i will have to figure that out. |
03:25.46 | bushido_banjo | is this the first autoconf issue on karmic? have others done this successfully? |
03:25.53 | JeffM | dunno |
03:26.03 | JeffM | not many people use dev code |
03:26.12 | JeffM | since it's not compatable with the release version |
03:27.12 | JeffM | if a developer had a problem they'd have checked in changes if they were needed. |
03:27.33 | bushido_banjo | ok. 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.55 | JeffM | they have broken old scripts before |
03:27.59 | JeffM | and will do so again |
03:29.25 | bushido_banjo | alrighty. sounds like i am on my own for this end of the prob. will see what i can find. thanks. |
03:29.43 | JeffM | 'tis dev code, some development may be required :) |
03:29.50 | JeffM | what are you looking to do with it? |
03:30.40 | bushido_banjo | bzflag? |
03:30.46 | JeffM | 2.99.x |
03:30.55 | blast007 | bushido_banjo: it builds fine on 9.04 ;) maybe you should downgrade |
03:31.01 | blast007 | grins |
03:31.57 | bushido_banjo | just wanted to config and see how client/server worked. |
03:32.30 | JeffM | similar to 2.0.x, but yeah looks like you'll have to figure out what got jacked up |
03:32.32 | bushido_banjo | maybe 9.04 is the answer. i upgraded both machines too. |
03:32.53 | JeffM | 9.0.4 was pretty easy, C++, sdl dev, and bam it was was done |
03:33.04 | blast007 | well, the real answer is fixing the build system if it's broken. 9.04 would just be a workaround. |
03:33.09 | JeffM | oh and curl dev |
03:33.21 | blast007 | I don't think I even needed that |
03:33.27 | JeffM | true |
03:33.31 | blast007 | curl is included with the tree |
03:33.46 | JeffM | I just always do it out of habbit |
03:33.50 | blast007 | :) |
03:34.01 | blast007 | I just install stuff until it works |
03:34.07 | JeffM | well did |
03:34.17 | JeffM | no more linux installs here |
03:34.32 | JeffM | not since the clean installs of 7 |
03:35.12 | bushido_banjo | maybe i'll do a bootable usb drive with 9.04... it allows changes to be kept on a usb partition. |
03:36.08 | bushido_banjo | thanks again you guys. |
03:39.01 | *** part/#bzflag bushido_banjo (n=charles@c-67-164-121-179.hsd1.ca.comcast.net) |
04:07.36 | remote | i'm looking at the python plugins in bzflag source |
04:07.57 | remote | there 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.08 | remote | that was my question lol |
04:08.16 | JeffM | thats' a very old plugin |
04:08.24 | JeffM | it hasn't been maintained |
04:09.23 | remote | doesn't matter i'm looking for it |
04:09.33 | remote | 2.0.12 source |
04:09.38 | JeffM | if you can't find it, it may not exist |
04:09.48 | remote | oh! |
04:10.02 | remote | i think it might be provided through c++ code |
04:10.15 | JeffM | swig may be involved |
04:10.25 | remote | yes that's it |
04:10.27 | JeffM | but that plugin was abandoned LONG ago |
04:10.29 | remote | PyBZFlag.cpp |
04:10.38 | remote | ok that's not what i'm looking for |
04:10.58 | remote | i just wanted sample code on communicating through bzfs |
04:11.06 | remote | in python but it doesn't really matter |
04:11.14 | JeffM | what do you mean by "communicating" ? |
04:11.22 | remote | sending and receiving messages |
04:11.28 | JeffM | network messages? |
04:11.32 | JeffM | like to game clients? |
04:11.34 | remote | chat messages |
04:11.45 | JeffM | that's just an API call |
04:11.52 | JeffM | BZ_SentTextMessage or something |
04:12.00 | JeffM | and an event when someone sends one to the server |
04:12.28 | remote | it's event based? |
04:12.30 | JeffM | anything a client does has to be event based for the API |
04:12.41 | JeffM | you can't have a plugin hanging out in a loop polling |
04:13.08 | remote | ok |
04:13.17 | remote | i'm not writing a plugin though |
04:13.19 | JeffM | do you want the chat message before or after the filter has it's way with it |
04:13.22 | JeffM | what are you doing? |
04:13.37 | remote | searching for sample communication code |
04:13.48 | remote | ah ./include/bzfsAPI.h |
04:13.49 | JeffM | like what the client does? |
04:13.56 | remote | or ./src/bzfs/bzfsAPI.cxx |
04:14.01 | remote | like chat messages |
04:14.07 | remote | i don't know what the client does |
04:14.14 | remote | yeah i guess it's what it does |
04:14.21 | JeffM | the client sends and receives chat messages ;) |
04:14.23 | remote | since you can write and read other users |
04:14.26 | JeffM | then you don't want the API at all |
04:14.26 | remote | yes yes yes :) |
04:14.35 | JeffM | there will not be any sample code that shows just chat messages |
04:14.38 | remote | no 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.45 | JeffM | then look at the client |
04:14.58 | remote | bz_sendTextMessage |
04:15.03 | JeffM | since you would have to connect AS a client to get messages from the server |
04:15.19 | JeffM | all com from server to client uses the same message formating |
04:15.28 | JeffM | message code, size, player, data |
04:15.39 | remote | i'll just read the documentation if it's available? |
04:15.42 | JeffM | you want to write raw sockets code that pretends to be a cleint? |
04:15.44 | JeffM | there isn't any |
04:15.45 | remote | yes |
04:15.48 | remote | oh :( |
04:15.50 | JeffM | then you need to emulate a client |
04:16.07 | JeffM | so you have to look at the client code |
04:16.07 | JeffM | cus you are writing a client |
04:16.12 | JeffM | chat is no different then any other message |
04:16.20 | remote | ok |
04:16.31 | remote | are there clients i can look at somewhere? |
04:16.32 | JeffM | your client would have to do a full login, and join as an observer player |
04:16.36 | remote | bzadmin? |
04:16.43 | JeffM | that and bzflag are the only 2 clients |
04:16.50 | JeffM | they share networking code |
04:16.58 | JeffM | what exactly do you want to do? |
04:17.12 | JeffM | make a spam bot? |
04:17.23 | JeffM | or do some kind of inter server communication? |
04:17.36 | remote | yeah a spam bot |
04:17.43 | JeffM | then get the heck out |
04:17.45 | JeffM | good bye |
04:17.54 | remote | no i just thought your suggestion was funny |
04:18.04 | JeffM | what are you trying to do? |
04:18.27 | remote | i'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.40 | JeffM | that would be better served by a plugin |
04:18.46 | JeffM | then you set it up on the server |
04:18.49 | remote | in one sentence i want to know who's online and who wants to match when i'm on |
04:18.52 | JeffM | instead of having it connect over the net |
04:19.15 | remote | it's probably trivial to make it connect to multiple servers through the net |
04:19.31 | JeffM | yes, then you'll get banned for spam joining |
04:19.36 | remote | i won't |
04:19.40 | JeffM | it's not cool to run bots on other people's servers |
04:19.45 | remote | because i will allow server owners to opt-in and opt-out |
04:20.02 | JeffM | then write it as a plugin that talks to central server |
04:20.08 | JeffM | then if they opt in, they install your plugin |
04:20.15 | JeffM | rather then you being able to force the issue by just connecting |
04:20.21 | remote | i don't know c++ |
04:20.25 | JeffM | then learn it |
04:20.34 | remote | i'm not interested |
04:20.43 | remote | don't have much time to put on it either |
04:20.43 | JeffM | your 'bot" will break every time there is a proto change |
04:20.48 | JeffM | then why bother? |
04:21.08 | remote | has there been protocol changes lately? |
04:21.14 | JeffM | dev chagnes it often |
04:21.26 | JeffM | and every major version has a different protocoll |
04:21.35 | remote | so why does the bzflag 1.0 client stil work with the latest bzfs release? |
04:21.43 | JeffM | umm they don't |
04:21.48 | JeffM | 1 and 2 are incompatable |
04:21.54 | remote | ok |
04:21.56 | JeffM | 1 uses a 1.7x server |
04:22.05 | JeffM | 3 will not be compatable with 2 |
04:22.09 | remote | i feel like we're fighting and that's not what i'm looking for :) |
04:22.16 | temporalD | I'm pretty sure that remote is wanting to build this for the 2.0 current game - not the trunk dev code |
04:22.34 | JeffM | you are dead set on one implementation, even if it is not the best |
04:22.47 | JeffM | temporalD: I know, but I am saying his method will break when 3 shipps |
04:22.48 | remote | i didn't understand that |
04:22.53 | JeffM | it's not a good method |
04:22.57 | JeffM | bzflag is not IRC |
04:23.02 | JeffM | and that's how he's approaching it |
04:23.10 | remote | but 3 has a inter server communication i was told |
04:23.11 | JeffM | trust me, I've been down this road a few times :) |
04:23.20 | JeffM | yes, but that is not the same as a friends list |
04:23.26 | remote | what? |
04:23.49 | JeffM | you want a friends list, that lets you see who's on line that you want to play with right? |
04:23.56 | JeffM | then you want to send them a message and ask right? |
04:24.01 | remote | i understand your suggestions and agree there's a better way to do it but it's not gonna be me |
04:24.13 | remote | now i'm interested to hack a bot real quick and forget about it for a while |
04:24.16 | JeffM | then you are going to spend all your time making your own client |
04:24.18 | Bambino | remote: use strayer's BZBuddies list. add friends. |
04:24.20 | remote | that's all i'm ready to do |
04:24.21 | JeffM | there is no "real quick" |
04:24.34 | remote | it's just messages |
04:24.35 | JeffM | the parts you think we have made allready we do not have |
04:24.37 | remote | it must be trivial |
04:24.48 | JeffM | you will have to read C++ to see what those messages are |
04:24.58 | JeffM | since they are in the client code |
04:24.59 | remote | i can do that |
04:25.12 | JeffM | then go disect a client and do a full login, with global auth |
04:25.27 | JeffM | only then can you send chat messages on every server |
04:25.34 | blast007 | or just finish the push stats site ... |
04:25.43 | JeffM | or do that ;) |
04:25.50 | jcp | remote: AAA_awright had a page somewhere that documented the 2.0 protocol |
04:25.53 | JeffM | the push data should be pretty much there |
04:26.05 | remote | what's the push stats site? |
04:26.29 | JeffM | the site that gets push stats from 3.0 and 2.0.x servers that would use the push plugin |
04:26.46 | blast007 | 3.0 has it built in (if that wasn't clear) |
04:26.46 | JeffM | 3.0 sends usage data to a central server |
04:26.46 | remote | i have no idea what that is |
04:26.57 | JeffM | then that site gives out data in an API |
04:27.08 | blast007 | currently we pull (query) data from servers every 5 minutes |
04:27.08 | JeffM | so that people can do stuff like you want |
04:27.16 | remote | ah |
04:27.18 | blast007 | instead, the game servers should push data to the central server |
04:27.27 | remote | oh! yeah i get it |
04:27.29 | JeffM | it's much more accurate |
04:27.32 | blast007 | since they know what's going on in more detail, instead of a snapshot every 5 minutes |
04:27.51 | JeffM | a plugin could be made for 2.0x that sends a subset of the data too |
04:27.55 | JeffM | all but tokens :( |
04:27.56 | remote | i have no idea what the central server does apart of serving files and authenticating users |
04:28.06 | JeffM | it's a different central servers |
04:28.27 | *** join/#bzflag PianoRokR (n=chatzill@ks-76-7-209-93.dhcp.embarqhsd.net) |
04:28.30 | remote | it would be easier if i could just read some doc |
04:28.36 | JeffM | the general idea was to provide services so people like you could do what you want |
04:28.44 | remote | i understand |
04:28.49 | JeffM | lots of thigns would be easier if other things existed :) |
04:29.00 | JeffM | life would be a lot easier if world hunger was solved |
04:29.04 | JeffM | but it isn't |
04:29.08 | remote | and if i knew c++ |
04:29.12 | JeffM | so learn it |
04:29.17 | JeffM | it's not like its' that hard |
04:29.21 | JeffM | what langauges do you know? |
04:29.50 | remote | really 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.58 | remote | i don't do any low level stuff |
04:30.01 | JeffM | the syntax is very similar |
04:30.13 | JeffM | other then the indents and memory management |
04:30.22 | remote | i've helped a friend last week with a c++ assignment |
04:30.27 | remote | it was a pain in the ass |
04:30.33 | JeffM | once you know how to program language just becomes a mechanism |
04:30.48 | remote | just to read elements one by one line by line from stdin took us over 3 hours |
04:31.08 | remote | not a great experience for me |
04:31.17 | JeffM | really? I'd just read the stream and tok it up |
04:31.21 | JeffM | should not be too hard |
04:31.41 | remote | but 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.46 | JeffM | the 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.09 | remote | well the items were space delimited |
04:32.15 | JeffM | even simpler |
04:32.39 | remote | so apparently when you do for instance while(cin>>whatever) it reads them one by one |
04:33.03 | JeffM | yeah, if you do it that way |
04:33.09 | JeffM | loops ;) |
04:33.12 | *** join/#bzflag KTL (n=KTL@d54C2FA87.access.telenet.be) |
04:33.31 | remote | we tried to tokenize but had some other issues i don't really remember |
04:33.33 | JeffM | but still, if you are looking for a quickie I don't think you'll find it |
04:33.43 | JeffM | you bassicly have to implement a client |
04:33.53 | JeffM | it'll be a subset of messages but you'll be a client |
04:34.03 | remote | this is how i see my client |
04:34.03 | JeffM | and you will get all the client messages, you'll have to filter out what you want |
04:34.22 | remote | connect, auth with central, forward auth token with server, receive messages, send message |
04:34.23 | JeffM | you'll get TCP and UDP packets |
04:34.27 | remote | how can this be so hard to do? |
04:34.41 | JeffM | the hard part is in what messages you send and recive |
04:34.49 | JeffM | the bzflag protcoll isn't text based |
04:34.49 | remote | private ones |
04:35.03 | remote | i thought it was but ok |
04:35.05 | JeffM | you can't just connect and send chat |
04:35.17 | remote | i see |
04:35.21 | JeffM | you have to do all the little messages that an observer would do |
04:35.28 | JeffM | and then you show up in the player list |
04:35.29 | JeffM | as a player |
04:35.39 | JeffM | then you'll get all the game packets |
04:35.44 | JeffM | some of them will be chat messages |
04:35.51 | JeffM | you filter those out, decode them, then parse them |
04:36.03 | JeffM | then you send back your packets with the PMs |
04:36.10 | JeffM | formated as if they came from a client |
04:36.22 | JeffM | some will be TCP, some will be UDP |
04:36.39 | JeffM | to get player names you'll have to keep your own player list, with each player ID |
04:36.44 | JeffM | cus all the packets just use PlayerID |
04:36.50 | remote | ok |
04:36.57 | remote | gives me a better idea |
04:37.17 | JeffM | there are about 10 message you have to send, and about 30 you'll get back before you can "join" as a player |
04:37.33 | JeffM | you'll probably do flag negotiation too |
04:37.36 | remote | i'm surprised :) |
04:37.39 | JeffM | and you'll have to respond to pings |
04:37.46 | JeffM | ping packets I mean |
04:37.53 | JeffM | or you'l be seen as NR |
04:37.53 | remote | icmp? |
04:37.56 | JeffM | nope |
04:38.03 | JeffM | MSG_Ping |
04:38.12 | JeffM | it's all in our protocoll |
04:38.19 | JeffM | IIRC those are over UDP |
04:38.37 | mebigfatguy | connect as observer |
04:38.56 | JeffM | observers still get pinged for a hearbeat to know if we can clear the connection |
04:38.58 | mebigfatguy | less messages |
04:39.11 | JeffM | observers still get sent player updates |
04:39.15 | mebigfatguy | yup |
04:39.25 | JeffM | you'll want to conenct just like bzadmin does, that's the minium messages we'll send a client |
04:39.37 | JeffM | how goes it mebigfatguy? |
04:39.43 | mebigfatguy | allgood |
04:39.47 | JeffM | cool |
04:39.58 | remote | i'll have a look at the python plugin |
04:40.05 | remote | you said it was outdated? |
04:40.12 | JeffM | remote: that dosn't do ANYTHING that you need |
04:40.21 | JeffM | all it does is expose the server API to python |
04:40.34 | JeffM | and that dosn't use sockets it just calls the C++ bzflag API |
04:40.59 | JeffM | plugins never see any of the raw messages |
04:41.14 | JeffM | it's all done with the API, so that we can keep the API consitent from one version to another |
04:41.23 | JeffM | so people don't have to redo plugins every time we change something |
04:41.43 | remote | it was developed to make robots in python wasn't it? |
04:41.48 | JeffM | nope |
04:41.55 | JeffM | it was developed to make plugins in python |
04:42.01 | JeffM | you are thinking of bzrobots |
04:42.07 | JeffM | that had a python module |
04:42.12 | remote | oh and robots can have plugins? |
04:42.12 | JeffM | that coudl define bot logic |
04:42.15 | JeffM | no |
04:42.20 | JeffM | it has logic modules |
04:42.27 | JeffM | but again that is all via the botcode API |
04:42.30 | remote | # ./bzrobots -team red pybot@localhost ../../bots/python/TestRobot.py |
04:42.31 | JeffM | not packets or messages |
04:42.41 | remote | i see that in the wiki |
04:42.42 | JeffM | yeah that's a logic module |
04:42.47 | remote | oh ok |
04:42.50 | JeffM | it has the callbacks for various events |
04:42.55 | JeffM | no packets or messages |
04:43.13 | JeffM | all our network traffic is done in C++ way down in the core of the game |
04:43.21 | JeffM | so we can change it with out affecting much else |
04:43.35 | remote | i understand that |
04:43.56 | JeffM | there may be some php or perl scripts that do a bassic connection to a server to get a player list |
04:44.06 | JeffM | but none of them will connect to send/recive chat |
04:44.39 | JeffM | we 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.00 | remote | so i'm interested about the BZFS API, correct? |
04:45.13 | JeffM | you said you didn't want to make a server side plugin right? |
04:45.27 | mebigfatguy | you really just want the socket protocol |
04:45.29 | JeffM | that's all the API is good for, server side plugins |
04:45.40 | JeffM | yeah you want to look at bzadmin and see how it connects |
04:45.46 | remote | did you expect your arguments to be unworthy? |
04:45.46 | JeffM | and what it does with NetHandler |
04:45.58 | remote | you made me change my mind what can I say? ;-) |
04:46.02 | JeffM | if you want to write a plugin, then it's trivial to get chat |
04:46.20 | JeffM | just throw a handler in for Bz eFilteredChatMessageEvent |
04:46.45 | remote | i have to look at it first and i'll ask back a few questions |
04:46.49 | JeffM | or call, Bz sendTextMessage to send |
04:46.57 | remote | i don't even know what a handler is condidered to be |
04:47.03 | remote | event handler? |
04:47.13 | JeffM | it's a class you implement that is derived from BZ_EventHandler |
04:47.21 | JeffM | you register it with a call |
04:47.27 | remote | i 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.28 | JeffM | all the plugins do this there are many samples |
04:47.45 | remote | yeah so you overwrite events and do whatever inside them? |
04:47.51 | remote | it's a subclass? |
04:48.01 | JeffM | it's a derived class that implements a virtual member |
04:48.11 | JeffM | then you can do what you want with the data |
04:48.21 | remote | i get it |
04:48.32 | remote | twisted works like that |
04:48.38 | remote | python twisted |
04:48.39 | JeffM | many things work like that |
04:48.43 | JeffM | http://my.bzflag.org/w/Event%28API%29 |
04:48.51 | JeffM | I even wrote an article on it ;) |
04:48.58 | remote | great |
04:49.39 | JeffM | once 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.01 | remote | i 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.05 | JeffM | if you have been programin for 8 years it should not be too big of a task |
04:51.41 | blast007 | remote: there's a ton of plugins you can look at for examples |
04:51.52 | remote | yeah it's one of the first thing i'll do |
04:55.11 | remote | stragger don't use a plugin right? |
04:55.26 | remote | strayer |
04:56.04 | remote | nice guestbook: â³> '><script>alert('XSS');</script> |
04:56.11 | JeffM | no |
04:56.16 | JeffM | but he dosn't send chat messages |
04:56.23 | remote | does the webleague devs have anything to do with bzflag? |
04:56.34 | JeffM | he connects and does a game query and then dissconnects |
04:56.40 | remote | ok |
04:56.41 | JeffM | not really |
04:57.10 | JeffM | there is php and perl code that shows how to do a player query |
04:57.18 | JeffM | that's all the stats sites do |
04:57.35 | blast007 | but then you only get updates when you query |
04:57.53 | JeffM | and walking lists of servers can take a while |
04:58.02 | remote | i think logDetail is what i need to read |
04:58.06 | JeffM | it's also a waste of bandwith |
04:58.17 | JeffM | log detail dosn't send chat |
04:58.29 | remote | is receives some however |
04:58.33 | remote | are there plugins who send chat? |
04:58.34 | JeffM | they all do |
04:58.40 | JeffM | receive I mean |
04:58.46 | JeffM | player history tracker sends |
04:58.52 | remote | not using eMessageFilteredEvent, that's how i found logDetail |
04:58.58 | JeffM | if you want a sample of an event handler look at airspawn |
04:59.01 | blast007 | playHistoryTracker |
04:59.14 | JeffM | one event and thats' the entire plugin :) |
05:00.46 | remote | airspawn airspawnHandler; |
05:00.52 | remote | that instanciates airspawn? |
05:00.57 | remote | however you spell that |
05:01.08 | JeffM | yeah that makes an object of that class |
05:01.18 | remote | ok |
05:01.19 | JeffM | allocates the memory etc.. |
05:04.26 | *** part/#bzflag PianoRokR (n=chatzill@ks-76-7-209-93.dhcp.embarqhsd.net) |
05:09.01 | remote | what if i would relay the messages to a network service, would that be asking for trouble? |
05:09.24 | JeffM | you can do that in an idle handler |
05:09.30 | JeffM | but if that's what you want to do that's fine |
05:09.45 | JeffM | all the plugin has to do is be glue |
05:09.55 | JeffM | that's all the python plugin is/was |
05:10.45 | remote | what's an idle handler? |
05:10.54 | JeffM | just another event |
05:11.05 | JeffM | it's called once for each loop of the server |
05:11.21 | JeffM | it's a good place to check for external message and stuff from outside the plugin |
05:11.35 | JeffM | or do any processing you need to do that isn't tied to events |
05:12.27 | JeffM | the 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.50 | JeffM | so 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.53 | mebigfatguy | altho you may want to check only every n idle events for some rational value of n |
05:13.13 | JeffM | you can set a time limit on idle calls |
05:13.35 | JeffM | by default they are called once for each network message, and then once every 5 seconds when there are no net messsages |
05:13.46 | JeffM | well once for each set of net messages at a time |
05:13.51 | mebigfatguy | ah |
05:14.06 | JeffM | it tries to do a throttle thing to not eat too much CPU |
05:14.14 | JeffM | the plugin can change that 5 second time |
05:15.00 | remote | so that plug-in would have to ask a central server for if it should send its local players messages as well |
05:15.18 | remote | otherwise it cannot work so it really has to rely on some external data source |
05:15.27 | JeffM | you'd have to have something that was being the frontend for the player looking for buddies, so yeah |
05:15.27 | remote | hmm |
05:15.41 | JeffM | I mean how did you expect people to use your app? |
05:15.49 | remote | i was thinking of something like chanserv, nickserv |
05:15.55 | JeffM | on IRC? |
05:15.58 | remote | send it commands, list online buddies, add, remove buddies |
05:15.59 | remote | no no |
05:16.04 | remote | but in the same fashion |
05:16.08 | JeffM | where would it run? |
05:16.11 | JeffM | phusicaly? |
05:16.18 | JeffM | wow bad speling :) |
05:16.32 | remote | at first, like you said, i was thinking of it being like an IRC bot |
05:16.41 | JeffM | well a bot still has to run somewhere |
05:16.50 | JeffM | your plugin could contact it however you wanted |
05:16.59 | remote | now i'm thinking of making it a network service that would receive and send data to a bzflag plug-in |
05:16.59 | JeffM | sockets, or what not |
05:17.07 | JeffM | sure it's been done |
05:17.12 | JeffM | I've done it with libIRC before |
05:17.24 | JeffM | just do your net processing in the idle loop |
05:17.37 | remote | do you have an example of an idle loop? |
05:17.55 | remote | i understood what it was but have no idea how it looks like, if any different from a normal event handler? |
05:18.00 | JeffM | it's just an event |
05:18.06 | JeffM | BZ_Idle or something |
05:18.10 | remote | oh |
05:18.10 | JeffM | install it just like the other events |
05:18.38 | JeffM | you can use the same handler as the others, you'll just get that event type when the idel loop gives you time |
05:18.39 | blast007 | the tick event, you mean? |
05:18.45 | JeffM | yeah that |
05:18.50 | JeffM | could not remember the name |
05:18.58 | JeffM | it's bassicly an idle loop for bzfs |
05:19.07 | blast007 | just make sure you don't run a task *every* tick |
05:19.22 | JeffM | not one that takes a lot of time |
05:19.23 | blast007 | set up a variable that keeps track of when stuff was done, and then only do it every X seconds |
05:19.26 | JeffM | or fire off anothe thread |
05:19.35 | blast007 | yeah |
05:20.03 | remote | i can't find idle nor Idle in bzfsapi.cxx |
05:20.07 | blast007 | tick |
05:20.08 | remote | bzfsAPI.cxx |
05:20.10 | JeffM | it's tick |
05:20.14 | JeffM | as blast said |
05:20.22 | remote | ?tick |
05:20.24 | remote | oops |
05:21.06 | remote | bz_TickEventData |
05:21.12 | JeffM | that's the data |
05:21.14 | JeffM | for that event |
05:21.17 | JeffM | it's useless :) |
05:21.58 | remote | bz_eTickEvent |
05:22.09 | JeffM | that'd be it |
05:22.18 | remote | :) |
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.04 | davidmccabe | Sorry, 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.49 | davidmccabe | nm, finally found it. |
08:04.22 | bushido_banjo | anyone 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.14 | brlcad | http://www.youtube.com/watch?v=N65MsSqkNzU&hd=1 |
19:55.37 | *** join/#bzflag jcp (n=jw@unaffiliated/javawizard2539) |
19:59.18 | brlcad | that'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.30 | ts | I have a problem with the weblogin script. There is nothing as reply when checking for the verified or the registered users group. |
20:39.00 | ts | How am I supposed to check for the verified group using the weblogin script? |
20:39.42 | CIA-65 | BZFlag: 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.05 | JeffM1 | so the masterban file got changed on the webserver? |
20:48.07 | ts | Hmm, now the reply is ok..I guess something was temporary wrong at the webserver, maybe timeout. |
20:51.30 | JeffM1 | how do you find out where a symlink goes? |
20:51.52 | WarPig__ | ls -l |
20:52.29 | BulletCatcher | ts: 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.49 | JeffM1 | maybe it's cheating |
20:53.30 | BulletCatcher | Can we disable the F5 button on the web server? |
20:53.49 | JeffM1 | all it has is a line drawn on the screen ;) |
20:54.08 | ts | BulletCatcher: I know..just it worked in browser but not in script. |
20:54.09 | WarPig__ | 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.18 | ts | BulletCatcher: and when I wrote here it worked in neither one |
20:55.52 | JeffM | figures out the new masteban system |
21:01.49 | brlcad | ts: run: curl -o /dev/null -s -w "%{time_total}" http://my.bzflag.org/db/?action=LIST |
21:02.51 | brlcad | run it a few times, what's it report? |
21:14.56 | blast007 | ts: uh... wouldn't "VERIFIED" always be true if they get a token? |
21:15.10 | blast007 | iirc, that's all bzfs does. |
21:15.57 | blast007 | yep, bzfs just adds "VERIFIED" if the user authenticated properly. it's not a real group. |
21:17.34 | AAA_awright | It is a pseudo-group to use one word |
21:44.24 | ts | blast007: I do now check if bzid > 0 |
21:46.47 | ts | brlcad: it reports values between 3,114 and 1,536. I guess the average is some high 2,x number. |
21:47.26 | Thumper_ | brlcad: for me 0.8-7.2 |
21:48.24 | ts | brlcad: irssi is also noticeable slower on the new server |
21:52.40 | JeffM | how much CPU us being used on the new one for stuff like that? |
21:57.46 | blast007 | ts: just check to TOKGOOD |
21:57.53 | blast007 | since the token doesn't have to be a number |
21:58.01 | blast007 | we treat it as a string |
21:58.27 | blast007 | er, I mean, the bzid |
21:58.57 | ts | blast007: Well, I need the bzid for database work (this took me 20 seconds to write with irssi) |
21:59.10 | blast007 | right |
21:59.21 | blast007 | it's not a number. store it as a string, and treat it as such. |
21:59.50 | blast007 | assume them to be in the "VERIFIED" group if you get a TOKGOOD response when checking their token |
21:59.51 | ts | Err, the bzid is NOT a number?!? |
22:00.03 | blast007 | it doesn't have to be, no |
22:00.04 | JeffM | it may not always be |
22:00.09 | JeffM | that is the point he is making |
22:00.11 | ts | sh** |
22:00.20 | JeffM | we treat it like a string so you should too |
22:00.28 | ts | Ok, back to database design stage |
22:00.56 | JeffM | sounds like you need to go back to your basic research :) |
22:01.06 | blast007 | ts: have a "externalid" value in your players table |
22:01.19 | blast007 | not like you need to redo all your tables |
22:01.42 | *** join/#bzflag SpazzyMcGee (n=SpazzyMc@bzflag/contributor/SpazzyMcGee) |
22:02.50 | ts | JeffM: I thought it would be safe to assume it's a number, I cast it to int each time it's used |
22:03.21 | JeffM | I 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.42 | JeffM | isn't there php for verifying a token already? |
22:03.51 | JeffM | from weblogin? |
22:04.11 | ts | yes, I use the weblogin script |
22:04.22 | ts | but the data needs to be processed |
22:04.44 | JeffM | doesn't the php sample we provide with that do that processing? |
22:04.48 | JeffM | and verify the user? |
22:04.50 | ts | the tokens need to be validated |
22:05.00 | JeffM | yes, we provided a checktoken function to do that |
22:05.04 | ts | The default checkToken script does not work for me. |
22:05.11 | JeffM | why not? |
22:05.33 | JeffM | are you using your own copy of the webauth page ? or calling ours? |
22:05.45 | ts | It's years ago I tested but IIRC it always said token invalid |
22:05.58 | ts | for my account, other accounts worked |
22:05.59 | JeffM | I've used it fine with out issue |
22:06.10 | ts | but some could replicate the issue with their account |
22:06.35 | JeffM | whatever you do you'll have to do the same thing that script does |
22:06.38 | ts | I am calling the weblogin script |
22:06.47 | JeffM | so why nto just debug the checktoken and fix it |
22:06.47 | ts | just validating is custom |
22:06.56 | JeffM | why not fix the one we have |
22:07.35 | ts | I chatted with menotume and he sent me a new checkToken script that only needed very few mods. |
22:07.48 | JeffM | ok, then why not check that in? |
22:08.13 | JeffM | my 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.23 | ts | Well, I don't know if it would work for all, like you said about assumptions |
22:08.32 | JeffM | nevermind |
22:08.38 | JeffM | it's pointless |
22:09.20 | ts | I could show what I have and may check in if you say it would be safe |
22:09.42 | JeffM | if you don't have the stones to check it in, just let someone else write it |
22:09.57 | JeffM | I know what we have works, I've use it |
22:10.13 | JeffM | I've used it's exact method in a number of plugins as well |
22:10.19 | JeffM | the entire webadmin system is bassed off it |
22:10.32 | ts | Longdon's gu |
22:10.34 | ts | oops |
22:10.55 | ts | his gu server had the same problem, too |
22:11.21 | JeffM | umm ok |
22:11.31 | JeffM | dosn't say what the problem is ;) |
22:11.32 | ts | I never found out what the issue was and why it worked fine on other machines |
22:11.46 | JeffM | that tells me it's a config issue on those machines |
22:11.53 | JeffM | or you don't fully undertstand the problem |
22:11.58 | JeffM | and chose to just ignore it |
22:12.09 | JeffM | it dosn't matter |
22:12.22 | JeffM | if your not confident in what is wrong, there is no point in checking anything in |
22:12.34 | JeffM | if there is a real problem someone else will fix it when they need to |
22:17.02 | blast007 | I use the checkToken.php file and it works just fine |
22:19.07 | blast007 | in 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.55 | blast007 | so you're either using it wrong, or the PHP configuration isn't set up the way the code expects |
22:23.05 | JeffM | leauge system should totaly be written like facebook :) |
22:23.30 | blast007 | JeffM: with daily mafia wars invites? |
22:23.32 | blast007 | ;) |
22:23.36 | JeffM | sadly |
22:23.51 | JeffM | but apps would not be a bad thing in it |
22:23.57 | JeffM | like friends lists etc.. |
22:30.09 | JeffM | make teams be groups, make leauges be groups of groups |
22:30.20 | JeffM | then give it an interface to group manager |
22:30.23 | JeffM | it'd be awesome |
22:35.14 | JeffM | or 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.06 | AAA_awright | We 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.42 | AAA_awright | Perhaps I am overthinking this |
23:02.44 | JeffM | I can't see how that would be faster |
23:02.58 | JeffM | tonen verify is a very fast lookup |
23:03.06 | JeffM | but then there is also the group thing |
23:03.35 | AAA_awright | bzfs verifies the list server signed the request, and verifies it is the intended recipient of the request |
23:03.38 | JeffM | you'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.48 | JeffM | I don't think you'd buy anything |
23:04.08 | JeffM | it's also a little more exposed as a server woudl see all the groups that you are in. |
23:04.13 | JeffM | not just the ones it asked for |
23:04.28 | AAA_awright | Just 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.46 | AAA_awright | So, faster joins at the minimum |
23:04.50 | JeffM | CPU is what we have a problem with |
23:04.59 | JeffM | not bandwith |
23:08.08 | AAA_awright | I 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.24 | AAA_awright | Has anyone profiled MySQL/apache to see what it is coming from? Handling network connections, hard disk activity, or what? |
23:08.42 | JeffM | SQL hits |
23:09.06 | JeffM | it's usualy apache waiting on SQL |
23:09.28 | JeffM | dosn't really matter tho, it's all going to ldap |
23:09.40 | AAA_awright | Which doesn't index any better |
23:09.42 | JeffM | the system is writen, just needs to be finalized and hooked up |
23:09.49 | JeffM | it's distributed |
23:10.48 | AAA_awright | So could MySQL... it's a matter of setup... to what degree it improves things idk |
23:11.06 | JeffM | it's more a mater of what system is closer to beeing done |
23:11.17 | JeffM | and 2 years and 10,000$ has been spent on ldap |
23:12.59 | JeffM | I 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.10 | AAA_awright | The server and group tables are fully indexed right? |
23:27.34 | AAA_awright | I would think so but it is easy to forget about it |
23:27.44 | JeffM | groups are stored in phpbb |
23:27.58 | AAA_awright | The server advertise list |
23:28.09 | JeffM | it's a single table somewhere |
23:28.25 | JeffM | I belive part of the issue is the way phpbb store stuff is "odd" |
23:28.37 | JeffM | that's why we want to get away from it to have a more optimal system |
23:28.50 | JeffM | and it's easy to get web services to auth against ldap |
23:28.58 | AAA_awright | It is in two separate databases, though that isn't much of a problem... it's just unusual |
23:29.15 | JeffM | get the code and look |
23:30.02 | AAA_awright | blast007: Have you ever run DESCRIBE on the queries bzfls.php uses? |
23:31.30 | JeffM | I 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.17 | JeffM | last I had heard the big thing was just that group manager had to be finished. |
23:33.21 | AAA_awright | If 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.47 | JeffM | IIRC groups arn't in a database, they are in ldap |
23:34.00 | JeffM | but if that's the case you should help them finish it :) |
23:34.11 | AAA_awright | A database by my definition :) |
23:34.22 | JeffM | group management dosn't happen that often so it dosn't have to be super fast |
23:34.32 | JeffM | we just need some meachanism for people to manage them |
23:35.04 | JeffM | and phpbb can't manage ldap groups, so we need SOMETHING to manage them before we can swap |
23:35.15 | JeffM | since when we swap we have to at least have the same featureset we have now |
23:35.21 | AAA_awright | I 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.42 | JeffM | has deja vu |
23:36.17 | AAA_awright | phpbb doesn't need be the one to manage groups anyways... that isn't ideal as you have pointed out |
23:36.25 | JeffM | we don't want it to be |
23:36.30 | JeffM | we want group manager |
23:37.02 | JeffM | using a bbs to track game users is just stupid |
23:40.40 | JeffM | group manager has a decent spec, someone just needs to write it |
23:41.05 | JeffM | then it's just populating it all with phpbb data, and moving it all over |
23:41.29 | JeffM | then 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.07 | brlcad | :) heh |