#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2012-11-14

Timestamps are in GMT/BST.

00:04:36raptorWatusimoto: i think i like the music - should replace the old one? (game.ogg)
00:04:48Watusimotoyes
00:05:15Watusimotobut not sure how to remove that file during install
00:05:50raptori can probably figure that out... ugh, i forgot about update directives and how tedious they are..
00:17:26koda Quit (Quit: you can't say 'hello' without saying 'hell')
00:22:25raptorhuh, maybe that song isn't as quiet as i thought... maybe i just had office noise around at the time
00:40:59raptorman, some of these linux rootkits are clever... i think i would enjoy coming up with some of it..
00:41:15raptortoo bad i probably could be legally paid for it
00:41:20raptor*couldn't
00:54:05raptorfinished a second round of listening to the music
01:06:14sam686Just came back.. problem with ssh bitfighter server or what?
01:07:15raptorhi sam686
01:07:32raptoryeah master server had 1 or more rootkits installed
01:07:35sam686Forgot I left my ssh up, but my ssh only shows: Login as: sam686@bitfighter.org's password: Last login: Thu Oct 25 06:39:52 2012 from host-190-22-107-208.midco.net [sam686@bitfighter ~]$ _ (I probably think my computer did nothing)
01:07:42raptorok
01:07:49raptori had killed the session anyways...
01:08:04raptori still don't know what the attack vector on the server was
01:08:20sam686which user was rootkit running in as?
01:08:32raptorsomething got in (not via ssh) on Oct 16, and got root access somehow
01:08:49raptorand they changed the iptables rules and ssh config to allow anyone to ssh in
01:09:06sam686maybe HTTP? (check apache log)
01:09:47raptorI think it was http (maybe with php)
01:10:04raptorthen they probably exploited a kernel bug to get root access
01:10:38raptori think i finally cleaned it all up by this morning
01:11:12sam686or maybe a HTTP -> PHP -> MYSQL hack? (mysql runs as ROOT user, but PHP usually runs as "Apache" user)
01:11:16raptorthey scraped any password found in php files, so database access passwords were gotten from phpbb, etc
01:11:30raptorsam686: that may be... does mysql really run as root??
01:11:54sam686actually not sure, but probably is run at Root..
01:12:49raptori sent you your ssh password in a private query window, please change it fast
01:13:42sam686ok, password worked..
01:13:45Watusimoto Quit (Ping timeout: 264 seconds)
01:14:06raptorlooks like mysqld is running as user 'mysql', but musqld_safe runs as root
01:14:12raptor*mysqld_safe
01:15:19raptordid you get my message in the terminal?
01:16:05sam686yes, but I often do a "Sudo su root" or "sudo su master" from my user instead of using those passwords..
01:16:49raptoroh yeah... i forgot about that
01:16:55raptorok, good
01:18:02sam686also, even before I log in, got a ssh warning about its ssh keys got changed..
01:18:11raptoryes, i regenerated teh host keys
01:18:25raptorthey installed their own ssh server
01:18:57raptorok, i'm heading home. i'll be back on later
01:19:01sam686ok..
01:20:36raptor Quit ()
01:21:39sam686maybe your iptables never worked in the first place, i think (or it was entered as "ROOT" username instead of "root" to bypass iptables, i think)
01:40:59amgine1234567890hmm
01:51:05raptor has joined
01:51:05ChanServ sets mode +o raptor
01:52:57raptori disallowed root logins with ssh
01:53:07raptorand everythign is case-sensitive
02:16:01sam686the HTTPD log file is mostly filled with "GET /bitfighterStatus.json"
02:20:21raptorlook for POST data
02:20:26raptoror PUT
02:22:19raptorlook fro something on oct 16
02:24:07sam686there is 1512 "POST " which is mostly forum from regular users posting in a topic..
02:27:13raptordo you use opera?
02:27:40sam686there is no "PUT " but this like is unusual, [14/Nov/2012:03:29:32 +0300] "POST /comment/reply/50 HTTP/1.1" 302 - "/comment/reply/50#comment-form" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;)" (probably other bots tried to hack but failed)
02:28:06sam686I use Chrome, but there is similar, nearly the same chromium in linux
02:28:33sam686has a search (ctrl+f) showing how many it finds.. I use it finding a .txt file
02:28:45raptorbecause on 16 oct, there is an opera user posting to the control panel
02:30:07raptortake a look at /var/log/httpd/temp.txt (i just created it)
02:30:14raptoreverything but GET
02:30:17sam686if its just a forum posting control panel, theres nothing unusual about it, i find some others like that..
02:30:38sam686its users changing / submitting data on control panel about their own user settings.
02:30:50sam686which does a "POST" too
02:32:17sam686don't go back way too far over to October either.., unless we can't find nothing recent on logs..
02:32:49raptori know that one exploit that scanned all of our php files for passwords took place on the 16th of October
02:34:29sam686is there any hint the password happen to be correct? (as in it starts submitting other data)
02:36:03raptorthis is the archive of data i got from the password scan: http://sam6.25u.com/upload/named.hacked.do_not_run_only_open.tar.gz
02:36:16raptorDO NOT RUN ANY OF THE SCRIPTS INSIDE... :)
02:37:56sam686"POST http://vlad-tepes.bofh.it/freenode-proxy-checker.txt HTTP/1.0" 404 3371 "-" "-"... I remembered back then I put in fake .txt, but until a few days, my apache server (hosted in my computer) starts getting overloaded from random request (mostly ads spam) where those bots thinking my http server was a proxy..
02:40:23sam686obviously windows users can't run those scripts in .tar.gz, expecially not with the default install of windows (or even extract them, 7-Zip needed for windows).
02:42:50raptorthere are a lot of posts to /comment/reply/...
02:43:11raptori wonder if drupal was exploited, too..
02:44:21sam686http://bitfighter.org/comment/reply/50 ... looks like thats part of drupal..
02:46:03sam686oh maybe look at sudo log (i wonder if sudo logs every command when doing "sudo blah_blah_blah"
02:46:39raptorone of the first things done was to turn off syslogd
02:46:49raptorand replace it with a hacked one..
02:47:00raptori've been unable to find logging..
03:14:46sam686I looked at /var/log/messages (and .1 .2 ...) looking for "Accepted password".., I wonder if it got hacked by logging in (maybe ssh, but not sure) as "master"...
03:17:08sam686I see 2 times of "Accepted password for master", which is also the same IP address of guessing other username and passwords...
03:17:57sam686we have a user "master" mostly to run the master server though... maybe we should also block "master" (while keeping "root" blocked)
03:21:34sam686I can only guess what it went from a password guessing bot logging in as "master" user, it might have hack its way to root somwhow...
03:25:25raptoryes, did you see my e-mail?
03:25:42raptorthere was a hack before that that opened up the ssh daemon
03:26:22raptoronly you, me, and wat could log in; but after a hack, the ssh config was changed so anyone could - then they got access to master
03:27:25sam686not sure, maybe our "master" user had a weak password..
03:27:49raptorit did
03:28:07raptorbut the server was already hacked before
03:30:05sam686how do you know it is hacked before November 3?
03:30:26raptorbecause on 0ct 16th that password scraper was run
03:30:39raptorand the ssh daemon was restarted several times on that day as well
03:31:20raptorthe server was already hacked, that's how the ssh config was changed to allow the master user to log in
03:36:52sam686maybe we should rename syslogd into something else.. Or maybe we should have some kind of un-delete or recover deleted file system....
03:37:12raptori coult make the file immutable..
03:43:10raptorok, i made them immutable
03:43:30raptorthey cannot be deleted unless the 'immutable' filesystem flag is removed from them
03:56:25raptoroh well, i can't find anything still about how the hack started
04:08:43raptorheading to bed early...
04:09:10raptorgood ngiht
04:09:20sam686night
04:11:17raptor Quit ()
04:20:36amgine1234567890 Quit (Quit: Page closed)
06:13:58kodaws has joined
06:20:48kodaws Quit (Ping timeout: 245 seconds)
08:01:05kodaws has joined
08:57:03watusimoto has joined
08:57:03ChanServ sets mode +o watusimoto
09:49:04kodawshey
09:49:18kodawsthere is the possibility of having a few students under the gci program
09:49:32kodawswhich is different than gsoc
09:49:47kodawsas it is composed of small tasks rather than a single big project
09:49:58kodawswould you be interested in it?
10:46:49watusimotohi
10:47:07watusimotosure, yes, that would be great
10:50:17watusimotois this it?
10:50:17watusimotohttp://code.google.com/opensource/gci/2012/index.html
11:42:18Watusimoto_ has joined
12:48:43Watusimoto_ Quit (Ping timeout: 245 seconds)
14:19:48raptor has joined
14:19:48ChanServ sets mode +o raptor
14:21:24raptorbuenos
14:23:23watusimotohi
14:23:26raptorhi
14:23:58watusimotowhy is it that in llinux, the standard symbols font is almost completely devoid of symbols???
14:24:26watusimotojust food for thought
14:24:27raptorheh
14:24:38raptoryou have to install extra fonts...
14:26:42raptorsam686: i just killed your long running ssh session again
14:26:49raptormaybe i should institute a atimeout
14:31:18raptorthis is going to be a cold winter..
14:32:43raptordid i kill the wiki??
14:32:46raptorargh
14:53:55watusimotoI'm guessing you changed the pw in the database, and wiki can no longer access
14:54:02raptoryeah, fixed it
14:54:07raptorsigh
14:54:20watusimotoI now know none of the pws, so I'm rather helpless :-)
14:54:33raptori don't know them either
14:54:37watusimotoI forgot to send my keyfile lastnight
14:54:40raptorthey're autogenerated
14:54:43raptoroh
14:54:44watusimotogood
14:55:13raptorif you're in a place to log in, i can give you your temporary ssh password
14:55:20watusimotosure
14:55:30watusimotousername still wat?
14:55:34raptoryes
14:55:42watusimotowhenever
14:55:51raptorawnt via private msg
14:55:55raptor*sent
14:57:21watusimotosorry -- hope my message went through flood control on the private channel
14:57:33raptorhaha
14:57:55watusimotodid it make it?
14:57:56raptoryeah, i regenerated the host keys so you'll have to remove it from your client-side 'known_hosts' file
14:58:07watusimotook, no worries then
14:58:24raptoryeah, just runt he command it tells you to, to remove the offending key
14:59:50watusimotook, in
15:00:14raptorgreat. please change the pw
15:00:27watusimotodoing that, all my pws are rejected
15:00:31watusimotolike what the heck
15:00:50watusimotothis wasn't myt pw, but why would oopoopoo be rejected?
15:00:56watusimotothat's a good pass!
15:01:07watusimotolong(ish)
15:01:15raptorhahaha
15:01:16watusimotonot in the dictionary (at least not the ones I know of)
15:01:23raptoryou can change to root to change it whatever you want
15:01:27watusimotoBAD PASSWORD: it does not contain enough DIFFERENT characters
15:01:32watusimotothis is a bad rule
15:01:39raptorhaha
15:02:07watusimotolike rainbow crackers would check words like oopoopoo before h3ll0?
15:02:41watusimotoBAD PASSWORD: it is based on a dictionary word
15:02:44watusimotois not!
15:02:55raptorchange to root first
15:03:07watusimotook, then opoopoo will work!
15:03:09raptorok, let me sent you a message on the terminal
15:03:15raptorcan you change to root?
15:04:16watusimotogot it
15:04:19raptorok
15:04:23watusimotoam now root
15:04:38raptorthen: passwd wat
15:04:46watusimotowaaay ahead of you!
15:04:47raptorand oopoopoo can be yours!
15:04:56watusimotoBAD PASSWORD: it does not contain enough DIFFERENT characters
15:05:02raptorit doesn't matter
15:05:09watusimotooh shit
15:05:10raptorenter it agasin and it will accept
15:05:24raptorhahahaha
15:05:46raptori'll... strike that from the logs...
15:05:56watusimotono matter -- will never use that again
15:05:59watusimotoand never have before
15:07:22watusimotoback to oopoopoo
15:07:47watusimotook
15:07:50watusimotodone
15:07:55watusimotoand no warnings this time
15:08:09raptorgreat
15:08:11raptorthanks
15:08:16watusimotowow
15:08:23watusimotoI haven;t laughted that hard for a while
15:08:43watusimotonow to relogin to make sure I remember it
15:09:16watusimotoso even after removing the line from my ssh file, I see this warning
15:09:17watusimoto987654123
15:09:22watusimotoWarning: the RSA host key for 'bitfighter.org' differs from the key for the IP address '199.192.229.168'
15:09:41watusimotoshould I just ignore?
15:09:47raptoryes, remove that key, too
15:09:59raptorit should tell you what line it is one
15:10:14raptoron
15:10:28raptoropen the .ssh/known_hosts file and delete that line
15:11:42watusimotowell, except the error is on line 7, and there is only one line in known_hosts
15:12:10raptornot on the remote server
15:12:17raptoron your local box
15:12:21watusimotoduh... just figured that out
15:12:27watusimotoit's been a looooong day
15:12:55watusimotook, everything is sort of under control
15:13:05raptoryay
15:13:30raptorand just to double check, that string of numbers you typed above didn't have anything to do with a password, did it?
15:13:38watusimotono
15:13:43raptorok good
15:13:46watusimotonot anymore
15:13:53raptor:)
15:14:12watusimotoI'v probbaly dumped 6 or 7 pws into this window over the past year
15:14:23watusimotomy general strategy is to retire them quietly and not draw attention
15:14:46raptorgood idea
15:14:52raptorok, i'm off to work
15:14:59watusimotook, thanks for your help
15:15:00raptorback later
15:15:05raptorsure, thank you
15:15:13watusimotook, when you get back see kodas question from this morning
15:15:20raptorok
15:15:23watusimotociao
15:15:23raptor Quit ()
16:39:33kodaws Quit (Ping timeout: 245 seconds)
17:07:10raptor has joined
17:07:10ChanServ sets mode +o raptor
17:07:16kodaws has joined
17:07:28raptorsooo... google code in?
17:10:22raptorwatusimoto: for the php error issue - i had checked those values in the php.ini as well, which is why i am now confused. i do remember that sam686 has made wiki changes in the past, so i wonder if he set something
17:13:37kodaws Quit (Read error: Connection reset by peer)
17:28:49Watusimoto_ has joined
17:53:18watusimotoout of here....
17:53:24watusimotoon later
17:53:25raptorlater
17:57:40watusimoto Quit (Read error: Operation timed out)
18:19:28Watusimoto_https://code.google.com/p/bitfighter/issues/detail?id=175
18:19:42Watusimoto_raptor: I'm leaving again, but this may be the key to fixing your testitem glitch
18:19:47raptorello
18:20:01Watusimoto_it would, I think, at least address the glitches I've seen, which I'm hoping are the same as the ones you've seen
18:20:05Watusimoto_ok, out of here again
18:20:14raptorbye
18:24:42Watusimoto_ Quit (Ping timeout: 260 seconds)
19:46:24LordDVG has joined
20:11:31Watusimoto has joined
20:11:51Watusimotohi
20:11:56raptorhello
20:12:17Watusimotowhat can you tell me about this bug?
20:12:18Watusimoto(Mac) Cursor disappears when pressing <ESC> in a game to access the menus. Possible SDL2 problem? seems to happen when alt-tab away first on 10.6
20:12:27Watusimotois this fixable?
20:12:52raptorthat it is ok to ignore for release - not that big a problem...
20:12:54raptorbut
20:13:00raptorSDL2 problem
20:13:12raptornot sure if i can fix it - i've tried a couple times already
20:13:32raptori had another stroke of genius regarding it one day.. but forgot to write it down
20:13:45raptorhave to think...
20:15:06raptoractually i should test that again to se if it is still an issue..
20:16:10Watusimotoshould I remove it or do you want to do it after your test?
20:16:41raptorwell, I'll move it to a defer list after my test
20:17:15Watusimotook
20:17:45Watusimotowhat about this one?
20:17:49Watusimoto /idle command timer is wholly client-side - open to hack
20:19:25raptoryeah
20:19:45Watusimotowhat does that mean?
20:19:48raptorso the idle timer just waits 5 seconds client-side only to allow you to respawn
20:20:20Watusimotowhat is the idle timer? the thing that brings up the hit any key screen?
20:20:28raptorso someone with a hacked client could just do /idle command and respawn instantly, no penalty
20:20:44raptori added the /idle command
20:21:13raptorit spawn delays you without penalty in the game, but requires you to wait 5 seconds before returning to play
20:22:32Watusimotowhat's the use case? you are going to walk the dog, so you /idle yourself?
20:22:47raptoryes
20:23:01Watusimotoand does it take effect immediately? or after your next death?
20:23:07raptorimmediately
20:23:18raptorthere was a discussiona bout it somewhere..
20:23:32Watusimotoah, so the abuse potential is that a user can hack their client, and return to game immediately
20:23:37raptoryes
20:23:43WatusimotoI do remember discussing it
20:23:49Watusimoto /afk
20:23:55Watusimotoand all that
20:24:06raptoryes
20:24:09raptorthat's it
20:24:28Watusimotojust thinking aloud here, but maybe /idle shoudl kick in after next death?
20:24:45Watusimotothen we could merge it with chatting and other mechanisms, and abuse potential is gone
20:26:32raptorthe idea was to not penalize your team in team bitmatch, or help the opponent in normal bitmatch
20:27:12Watusimotobut this was at a time when the only options were to quit or to remain in game to be killed 100x
20:27:45Watusimotoremain and be killed isn;t even an option any more
20:28:29raptorwell, it was added in 018, after teh spawn-delay stuff in 017
20:30:18WatusimotoI thought spawn-delay was new to 018. ok, well I see 3 options for clearing the bug. 1) reimplemetn the delay server-side; 2) remove the feature as possibly redundant; or 3) ignore
20:31:25raptori'd go with ignore for now, but we should probably rediscuss this - i don't remember everything about why it was ultimately added
20:32:13Watusimotomy recollection is that it was added as a way for players to remove themselves from the action (for dog walking) without quitting the game.
20:32:47Watusimotoif we were discussing it now, I'd say the feature is totally redundant. That I didn't say that before suggests that the things that make it redundant were not yet in the game
20:33:15raptorwell, it was done since 017b..
20:33:20Watusimotobecause now, you'd just enter a chat screen, or hit esc to be afk
20:33:38raptorah yes - we added that, too since
20:33:44raptormaybe that is enough, then
20:33:50Watusimotoor hell, just walk away, suffer one or two kills, and be safe for aslong as you wanted (being spawn-delayed and all)
20:34:22raptori think some people were complaining that they didn't want *any* penalty
20:37:21raptormac bug still there - let me try and update SDL to see if it has gone
20:46:15Watusimotook, maybe I'm just in a ornery mood, but I am now opposed to this feature. I know I supported it in the past. However, it looks relatively easy to make the timer work on the server.
20:46:35Watusimotoso maybe I'll dislike it less if I have more investment in it
20:47:21raptori'm ok with whatever you decide
20:47:35raptori'm working on the mac issue..
21:02:44raptorargh xcode
21:02:57raptorit's so crazy aggressive with redoing all of your indentation
21:06:50Watusimotoso are you in favor of the music selections?
21:06:54raptoryes
21:07:06raptor good choices from that artist
21:07:18raptorand the style consistency is good
21:07:30raptoralthough i'm already getting sick of 'dreams'*
21:07:35raptor:)
21:09:00Watusimotosam686: have you listened to any of the music?
21:09:32Watusimotosick of it because you don't like it, or you;ve overplayed it?
21:09:39raptoroverplayed
21:09:46raptorbecause those were some early picks
21:09:50Watusimotoyes
21:10:02WatusimotoI think I included 2 of the 3 early picks
21:10:12Watusimotoit's catchy!
21:10:25Watusimotowhich one had the volume issue?
21:10:40raptoradk
21:10:59raptorbut i listened to it again, and maybe it was just the office noise at the time that made me think it was too soft
21:19:20raptorfound a workaround to the mac bug
21:19:27raptorposting on the sdl bugzilla..
21:21:42Watusimotoah.... did tsec-hot play for you?
21:21:47Watusimotoor faraway?
21:21:50raptoryes
21:21:53raptorall of them did
21:22:09raptorwait
21:22:14raptori didn't test them all in-game
21:22:22Watusimototsec-hot isn't playing in vlc nor will it load into my xm editor, and faraway seems to be missing half the voices
21:22:23Watusimotoodd
21:22:27Watusimotolet me try foobar
21:22:35raptorqmmp plays them nicely
21:23:12Watusimotofoobar won't play xm files
21:27:59LordDVG Quit (Remote host closed the connection)
21:30:32Watusimotothere's at least one file bf won't play
21:32:08Watusimotoah, it tries to play music.txt
21:32:16Watusimotorather credits.txt
21:32:19raptorhaha
21:32:40Watusimotothat pretty much kills the music system
21:33:04raptorreally? it shouldn't
21:34:23raptorhaha, it tries to complay my compressed file in the directory, too
21:34:46raptorit loads it as a .mod because that is the fallback (and it doesn't have defined file headers)
21:35:49raptorhaha, bitfighter is a better player than vlc!
21:39:30BFLogBot Commit: ee94b8eb352a | Author: buckyballreaction | Message: Workaround for SDL2 issue with losing mouse cursor in-game if you CMD+TAB to another application
21:39:31raptorfixed mac bug
21:44:27raptorour list is getting small!
21:48:35Watusimotoyes
21:48:38Watusimotooh, great
21:48:41Watusimotogood fix
21:48:47raptorsuch a hack
21:48:53Watusimotodo you have a list of music types that we can play?
21:49:03Watusimotoogg, xm, ...
21:49:15raptorso
21:49:52raptorthe thing to understand is: the ALURE library that I used to play files has a bunch of codecs
21:50:27raptorit will analyze a file (independent of the extension) and see if it matches a given codec, then it attempts to play it
21:50:31raptorhowever
21:51:19raptortwo of the codecs, mp3 and modplug, are fallback codecs and will attempt to play the file no matter what
21:51:54raptorthis is because .mp3 and .mod do not have a defined header standard and there's no real way to tell if the file is one of those
21:52:27raptorthe codecs i compiled in are: wav/aiff, vorbis (ogg), modplug (.xm, .it, .mod, .s3m, ...)
21:53:08raptorbut i've never actually had it crash the game when attempting to play any sort of file
21:53:14raptoris it crashing for you?
21:53:17Watusimotook, so I'll only load files with those extensions, rather than anything in the file
21:53:24Watusimotono, but music stops dead
21:53:34raptoractually
21:53:37Watusimotoand I can't restart with mnext or mprev
21:53:43raptorwhat!?
21:53:48raptorcan you give me that file?
21:53:54Watusimotocredits.txt
21:54:03Watusimotois the problem
21:54:10raptori don't have it..
21:54:19WatusimotoI suspect any txt file will do
21:54:21Watusimotobut
21:55:01Watusimotohttp://pastie.org/5379349
21:55:33raptori've 'played' text files before without problem...
21:55:53Watusimotomaybe its a windows thing
21:56:04Watusimotoseems better to filter out non-music anyway, no?
21:56:09raptorthe better solution may be to alter the ALURE libraries to not fallback on mod decoding unless the file has extension .mod
21:56:29raptoryes
21:56:36Watusimotoif we ever wanted to show a playlist, we wouldn't want to have text files in it!
21:56:50Watusimotoit would make us look like clowns
21:56:55raptorshoudl filter out non-music... but module files come in like 35 different formats
21:58:27Watusimotoso how about for now we say we support ".wav", ".ogg", ".xm", ".it", ".mod", ".s3m" files
22:01:20Watusimotomaybe also .ned, .mo3, .mtm, and .umx?
22:01:32Watusimoto.ned (Nerd Tracker II)
22:01:34Watusimotolove that
22:02:23raptorsure
22:02:26raptora prefilter
22:02:34Watusimotoyes
22:02:39raptoryeah we support nerdtracker, i think
22:02:49raptoroooo
22:02:50raptor.umx
22:02:56raptorunreal tournament!
22:02:58Watusimotoand those others as well? any idea?
22:04:50raptorit's in one of the alure cpp files
22:06:30raptorwait wait... it's in libmodplug itself...
22:06:32raptorlooking
22:09:20raptorsee here: http://modplug-xmms.git.sourceforge.net/git/gitweb.cgi?p=modplug-xmms/modplug-xmms;a=blob;f=libmodplug/src/sndfile.cpp;h=c630ce2f99845d87418d25780b3ef551417b3207;hb=HEAD#l139
22:11:04Watusimotolots of midi formats
22:11:45raptoryeah, i actually just realized that i could have compiled it with MODPLUG_BASIC_SUPPORT and we could have just used the common formats
22:11:56raptornotice how ReadMod is last?
22:12:05Watusimotoyes
22:12:09raptorthat's because it has no headers
22:12:27Watusimotodo you think all those ReadXXX functions can be interpreted as XXX beign a file extension?
22:12:40raptoroh yes
22:12:44Watusimotowow
22:12:45Watusimotook
22:12:52raptorbut i'll look on the website for the appropriate list
22:13:04Watusimotothis is a job for sublime multiedit!
22:13:06raptoryou may wish to prefilter case-insensitive...
22:15:23Watusimotono nerd tracker in that list...
22:15:28raptorsee: http://modplug-xmms.git.sourceforge.net/git/gitweb.cgi?p=modplug-xmms/modplug-xmms;a=blob;f=libmodplug/README;h=1eb4c82ebfde09b08bd18d5ff4784b19ecc95ffd;hb=HEAD#l36
22:16:02raptorwait... you're right!
22:16:08raptori thought i saw that one before..
22:17:22Watusimotoreally... no one will ever try
22:17:35Watusimotoogg maybe, wav possibly, maybe xm and it
22:19:45raptorthe tracker world is crazy fractured...
22:20:44Watusimotothat's not the f word that came to my mind...
22:20:52raptorhaha
22:20:54Watusimotobut who am i to judge?
22:21:28raptori think 'fractured' is a reasonable assessment
22:29:25Watusimotoconst string extList[] = { ".669", ".ABC", ".AMF", ".AMS", ".DBM", ".DMF", ".DSM", ".FAR", ".IT",
22:29:25Watusimoto ".MDL", ".Med", ".MID", ".MOD", ".MT2", ".MTM", ".OKT", ".OGG", ".PAT",
22:29:25Watusimoto ".PSM", ".PTM", ".S3M", ".STM", ".Ult", ".UMX", ".Wav", ".XM" };
22:29:40Watusimotothat's a big list of nothing
22:29:51raptorhaha
22:30:06WatusimotoI guess the cost is low
22:30:17raptorjust a start-up cost
22:30:25Watusimotoand no support cost
22:30:58Watusimotoand now the format list is (somewhat) documented somewhere
22:31:37raptoryou forgot compressed formats!
22:31:44raptor(i don't really care..)
22:38:20raptordo you have plans to let the author of the music know we enjoyed it enough to put in our game?
22:48:42Watusimotook, they all play
22:48:49raptoryay!
22:48:53WatusimotoI have no plans either way
22:49:20WatusimotoI'm nervous he'd be unhappy for some reason
22:49:29Watusimotonot a rational fear
22:50:02raptorso.. forgiveness instead of permission?
22:50:28Watusimotoyes
22:50:36Watusimotounless you have a different opinion
22:50:42raptornope :)
22:50:53Watusimotowell, we don't need permission, and I don;t think he could rescind it
22:51:07Watusimotobut I don;t want to feel like a jerk
23:06:41Watusimotook, music is all done; only need to make sure it's installed for linux and mac
23:07:04Watusimotowe should find a way to delete old music file during upgrade, shouldn;t we
23:07:05Watusimotosigh
23:07:22raptorso
23:07:32raptorthat falls under the category of 'update directives'
23:08:10raptorright now that is handled in the linux script and internally in a custom class koda wrote for mac
23:08:52raptorsome update directives, like INI changes, are handled in 'checkIfThisIsAnUpdate()' in main.cpp
23:09:21raptorwe should probably pull it under one roof - probably in the code
23:09:28raptormaybe
23:09:46raptorbecause maintaining separate scripts for each environment wears me down a bit..
23:12:48Watusimotoas for deleting music.ogg, if we put that in the installer, and someone adds a file called music.ogg, it will be dleeted when they next update
23:13:35Watusimotomaybe I misunderstood your "under one roof" comment
23:13:43Watusimotowas that referring to deleting the music file?
23:13:52raptoryes
23:13:56Watusimotook
23:13:58raptorsort of
23:14:08Watusimotomaybe that;s the place to do it... idk
23:14:22raptori *think* we should handle update directives in the code
23:14:41raptorbut currently we are not, we handling it special on each platform
23:14:43WatusimotoI could see an arugment for that
23:14:46raptorwhich is a lot of work
23:14:59Watusimotomost update directives are handled in code, no?
23:15:03raptorheh
23:15:11raptorabout half and half
23:15:22Watusimotowhat;s an example of one handled outside of bf.exe?
23:15:36raptorpulling that up..
23:16:01raptorso see here: https://build.opensuse.org/package/view_file?expand=1&file=bitfighter.sh.for_deb&package=bitfighter&project=games
23:16:16raptorthat is the linux wrapper script
23:16:32raptorit looks for something signature in each release to tell if it needs to do something special
23:17:14raptorfor instance, the signature for 015a was that s_bot was added; so it looks for s_bot, if it is missing, it copies in
23:17:39raptorin 017 section we upgrade s_bot
23:18:20Watusimotowhy does this need a specific directove?
23:18:21Watusimotocp "$datadir/robots/s_bot.bot" "$userdatadir/robots/"
23:18:36raptoryes, that is another problem
23:18:37Watusimotoah, so as to not clobber existing s_bot?
23:18:45WatusimotoI think we'd always want to clobber
23:18:48raptoron linux, each user has their own game resources
23:19:04raptorno, we clobebr it
23:19:06raptorclobber
23:19:33raptorthat's just saying if sbot.bot isn't found, then copy it over
23:19:44Watusimotowe want to copy it over even if it is found
23:19:52raptoryes, i do that in the 017 section
23:19:55Watusimotoregardless of version
23:20:06raptorwell
23:20:15raptorthat's if you're on a singler user system
23:20:22WatusimotoI understand what the script is doing, but really not why it does what it does
23:20:35raptorit's a multi user problem
23:20:46raptorthe game is correctly installed to a system location
23:20:47raptorbut
23:21:18raptoron start-up it copies certain resources to the user's settings directory
23:21:44raptorso
23:21:54Watusimotois this both installer and startup script combined?
23:21:54raptorit copies things like levels to the user's directory
23:22:20raptorthe installer -> installs to system
23:22:31Watusimotoah, ok
23:22:33raptorstart-up script -> creates user settings dir and copies resources
23:22:45raptorbecause the user doesn't have root access
23:22:46Watusimotoso if resources have already been copied, don;t copy again
23:22:52raptorexactly
23:22:55raptorthe problem being
23:23:17raptorwe install some level files into the system BUT we want a user to be able to edit them and add to them
23:23:30raptorand they can't do that into a root-owned directory (same on Mac)
23:23:46raptorso, the current solution is to copy all the resources to the user's directory
23:23:54Watusimotowe do that in win too
23:24:08WatusimotoI think that on upgrade any mods are clobbered
23:24:22raptorexactly, but i try my best to not do so...
23:24:37Watusimotobut we want to clobber for things like s_bot
23:24:43Watusimotootherwise upgrade is impossible
23:24:43raptoryes
23:25:00raptorif you see in that same script (under 017) i clobber s_bot
23:25:06Watusimotoso you look for tricks with every upgrade
23:25:09raptoryes
23:25:25Watusimotowell, I was going to suggest we "institutionalize" this a bit
23:25:35raptoryes!
23:25:36Watusimotocreate a version-lockfile or something
23:25:42koda has joined
23:25:44raptorwe have something similar
23:25:47Watusimotoso the script can see when its an upgrade and copy everything
23:25:54Watusimoto.version017b
23:25:55raptorin main.cpp, checkIfThisIsAnUpdate()
23:25:59Watusimotoyes
23:26:02raptorit scans the INI
23:26:14Watusimotobut that can't handle upgrading versions of s_bot very well
23:26:18raptori believe there is were we need to do a settingsDirectoryUpgrade()
23:26:19Watusimotoat least not in windows
23:26:28raptorwell
23:26:44raptorthe solution to that: allow resource loading from two categories of directories
23:26:58raptorsystem directories, and user directories
23:27:02Watusimotolevels in the system folder as well as the user folder
23:27:08raptoryes!
23:27:30Watusimotothe real answer is playlists
23:27:40raptorthos two things (dual resource directory loading and in-code update directives) will help a lot with this madness
23:27:54Watusimotodual resouce folders seem fine for me
23:28:16Watusimotowell, actually
23:28:19raptorkoda already converted this script to code
23:28:22raptorfor mac
23:28:39kodao/
23:28:46raptorhi koda!
23:28:46Watusimotobut I think it would be simple to do the following logic:
23:28:52Watusimotoif upgrade, copy everything
23:28:55Watusimotoelse
23:28:55Watusimotodon't
23:29:19Watusimotothen that script could remain constant
23:29:37raptorsee zap/Directory.mm for koda's work
23:29:48raptorok
23:29:55kodaobjc magic
23:30:01raptori think that's actually what koda did...
23:30:04raptorright koda?
23:30:20kodaregarding what?
23:30:31raptorconverting my ugly script to code
23:30:50kodait was not ugly
23:31:06kodaand did a pretty good job considering that your main env is not osx
23:31:13raptori'm trying to remember how you call the stuff in Directory.mm...
23:31:30kodabasically i just check which bitfighter version is installed
23:31:39Watusimotodirectory.mm is unfamilliar and frightening
23:31:52kodaif this info is absent or the version is older, copy everything
23:32:21Watusimotoso if we do the same for linux, that would ease the upgrade scripting
23:32:43Watusimotothe only question is whether this would be better done in code, or in the running script itself
23:33:45Watusimotobut it seems clear we should handle the removal of game.ogg in the code
23:33:49Watusimotonot in the installer
23:33:50raptor.mm is indeed frightening
23:34:01raptoryes
23:34:03raptorso
23:34:06koda is tempted to show some lines of haskell...
23:34:22raptoroh my goodness haskell...
23:34:53raptorkoda: from where do you actually call the copy resources? on bitfighter start-up somewhere?
23:35:03raptori'm trying to find the method call...
23:35:24raptoroh, haha
23:35:27raptorfound it
23:35:32raptorright in main()
23:35:35kodayes
23:36:14raptorok Watusimoto, so we have two types of update directives: 1. file manipulation, 2. INI changes
23:36:37Watusimotoyes
23:36:54raptorINI changes are done in checkIfThisIsAnUpdate()
23:37:08raptorfile ones are done (only for Mac) above it in main()
23:37:19Watusimotook
23:37:38Watusimotobut for things like removing the outdated music file, we shoudl do that in checkIfThisIsAnUpdate()
23:37:49Watusimotowhich is completely platform independent
23:37:50raptorso maybe we should combine them
23:38:03raptoryes
23:38:13WatusimotoI don;t think the mac way would play nice with windows
23:38:20Watusimotobecause we don;t do any of this there
23:38:37Watusimotowhen we upgrade, the installer copies files
23:38:46Watusimotothen that;s it
23:39:19Watusimotothough, admittedly, the installer won;t work well on multiuser systems... not sure really what would happen if two windows users wanted to install the game
23:39:24Watusimotono, not sure at all
23:39:35raptorkoda, how do you tell if we need to re-copy resources to the users settings directory?
23:39:44kodai trust the user defaults
23:39:58kodaa standard way of setting/getting default options on osx
23:40:01raptorso... that means... you don't?
23:40:16koda:D
23:40:17kodano
23:40:23BFLogBot Commit: abc11fb0b692 | Author: watusimoto | Message: Remove unneeded reference to "this"
23:40:25BFLogBot Commit: 25e79f274a22 | Author: watusimoto | Message: Update music credits
23:40:26BFLogBot Commit: a0a431c9a819 | Author: watusimoto | Message: Music plays in arbitrary order, no?
23:40:28BFLogBot Commit: a06f8fa0e8dd | Author: watusimoto | Message: Down homey, homey.
23:40:29kodai check for the existance of version information
23:40:29BFLogBot Commit: c1fc6b4e5218 | Author: watusimoto | Message: Only load music we can play
23:40:31BFLogBot Commit: 9000a24a238e | Author: watusimoto | Message: Add new music
23:40:32BFLogBot Commit: 2e76007347a3 | Author: watusimoto | Message: Remove old music
23:40:34BFLogBot Commit: c86cceb675e4 | Author: watusimoto | Message: Update credits
23:40:35BFLogBot Commit: f247392c14cb | Author: watusimoto | Message: Windows installer includes all music files
23:40:37BFLogBot Commit: f39e37edb680 | Author: watusimoto | Message: Merge
23:40:37kodaif i don't find it i obviously add it
23:40:50raptorah ha!
23:41:07raptoria that what this is?: NSString *trackingVersion = [userDefaults stringForKey:@"BitfighterVersion"];
23:41:42raptoris that like a Mac system registry??
23:41:48kodathat gets the info,yes
23:42:28kodawell more like associated xml properties that get orderly created for each application
23:42:41raptorhaha
23:42:47raptorsoo... a registry
23:42:51raptorish
23:42:55raptorhmm
23:43:02kodanoooo it's not a registry :((((
23:43:29WatusimotoI didn't know osx had a registry!
23:43:37koda screams running away
23:43:41Watusimotoha!
23:44:08raptorok, so
23:44:26raptori guess if we detect we're an updated version, re-copy over all resources
23:44:40raptorto the user's preference dir
23:45:06raptorthat can be handled in code for each platform, i think
23:49:34raptorbrb
23:50:53kodaguys, did you read my posts of a few hours ago by any chance regarding gci?
23:51:01Watusimotoso koda what do you know about that gci?
23:51:12Watusimotodid you post anything beyond asking if we were interested?
23:51:33kodawell no one was around at that time >.<
23:51:48WatusimotoI replied that yes, i was interested
23:51:55Watusimotoso yes. interested.
23:52:06kodagci is where students of young age come and do
23:52:10kodavery small tasks
23:52:12Watusimoto(I was around, but not looking at chat window!)
23:52:19Watusimotoperfect -- we have lots of those
23:52:25kodalike changing a few lines of code
23:52:34kodaor producing some amount of stuff
23:52:39kodalike documentation or similar
23:53:00kodathe risk of gci is being swarmed by lotsa student crying
23:53:06kodaWHERE IS THIS IN THE CODE
23:53:09koda(all caps)
23:53:22kodawhich is highly unmanageable
23:53:26Watusimotoone idea was to have them modify lua constructors to accept arguments; we have a good model to copy, and it's a bunch of bite sized chunks
23:53:58WatusimotoI suspect its somewhat luck of the draw
23:54:15kodahowever this year they relaxed the rules a bit and made it so few students could try and stick with a project they like
23:54:33Watusimotoah, beofre you would hop from project to project>
23:54:34Watusimoto?
23:54:43kodalast year it was like that yes
23:55:06kodaalso they made it possible to update the list of tasks more often
23:55:26kodaso to better handle the quantity of work available
23:55:45koda(eg if you are very busy with 5 tasks you can put off publishing new tasks)
23:55:52WatusimotoI see
23:55:53koda(and publish them when you ahve more free time)
23:56:04Watusimotohow long does the program last?
23:58:12kodaso
23:58:17kodait starts in 10 days
23:58:38kodaand goes until jan 14
23:58:40kodath
23:59:59kodaone of the cool thing of this year

Index Search ←Prev date Next date→

These logs were automatically created by BFLogBot on irc.freenode.net.