*** tpb has joined #tp | 00:00 | |
*** ChanServ sets mode: +o tpb | 00:00 | |
mithro | the updated universe is now what you can see by doing the get_xxx from the servers | 00:00 |
---|---|---|
dmpayton | so the client just does a direct query to the server? ie. no need to worry about how or where the server stores data | 00:02 |
mithro | yes | 00:04 |
mithro | the Cache.py class in libtpclient-py offers a convient local (disk based) cache of the universe | 00:04 |
mithro | it provides methods which allow you to only download things which have changed each turn (instead of the whole universe) | 00:05 |
dmpayton | Okay. | 00:09 |
mithro | it also means that you can get objects by just doing dictionary lookups (IE cache.objects[0]) | 00:13 |
dmpayton | mithro: http://tp.dmpayton.com/ what do you see? | 00:35 |
mithro | 6 | 00:36 |
dmpayton | Okay. | 00:36 |
dmpayton | refresh... goes up to 7? | 00:36 |
dmpayton | nvm | 00:37 |
mithro | exceptions.UnboundLocalError at / | 00:38 |
dmpayton | Yeah | 00:38 |
dmpayton | That 6 was served up using web.py and FastCGI. I'm toying with it's persistence. | 00:39 |
dmpayton | Though using a server to act as the middle man between the client and the daemon may be the best option. | 00:41 |
dmpayton | What's the purpose of libtpproto? | 00:44 |
* dmpayton pokes mithro | 00:47 | |
mithro | libtpproto-py is a library which lets you talk to the server and get information | 00:48 |
mithro | it's used by libtpclient-py | 00:48 |
mithro | or can be used directly (as tpclient-pytext does) | 00:48 |
dmpayton | So if we were to use the "daemon <-> database <-> web client" model, the web client would only need to access the database, and the daemon would be the one using libtpclient-py, yes? | 00:50 |
mithro | yes | 00:51 |
mithro | but you probably could get away the database being the Cache file libtpclient-py produces | 00:52 |
mithro | or extend Cache.py so that is saves/reads from a database | 00:53 |
dmpayton | what format is the cache file in? | 00:54 |
mithro | custom format | 00:55 |
mithro | it's a pickle with some extra stuff so it can cache Order descriptions | 00:55 |
dmpayton | What would the pro/cons be of accessing the cache file vs extending cache.py to access a db? | 00:58 |
dmpayton | ie. having to parse the (entire?) cache file when I need to grab an object vs a query to grab just what I need | 00:58 |
mithro | dmpayton: yeah | 00:59 |
mithro | maybe converting it to a SQLite database or dbm might work | 01:00 |
dmpayton | about the daemon, would any changes made to the db be picked up by the daemon right away, or only at EOT? | 01:06 |
mithro | what do you mean? | 01:07 |
mithro | at the moment you don't need to worry about orders or designs(which are the only things which can change in a turn) | 01:08 |
dmpayton | Alright. | 01:08 |
dmpayton | how is user authentication handled? User logs in, is validated, then his user id is sent with all orders? | 01:14 |
nash | persistent connection normally | 01:19 |
mithro | the connection is persistent | 01:20 |
mithro | so once you login, the server knows that this user is with this connection | 01:20 |
dmpayton | Right, but that won't work with the web client, as the web client isn't persistent and orders from multiple users will be coming through from one daemon. | 01:21 |
mithro | dmpayton: that is a problem you have to figure out | 01:21 |
dmpayton | So what would be stored to let the server know that x order came from y player? does each player have a unique id? | 01:21 |
mithro | normally you use cookies to make the stateless HTTP stateful | 01:21 |
mithro | dmpayton: you need to be a bit more careful in your words - there are two servers here | 01:22 |
mithro | the web server and the Thousand Parsec server | 01:22 |
dmpayton | When I said server, I meant the game server. | 01:26 |
dmpayton | ie. tpserver-cpp | 01:26 |
mithro | tpserver-cpp/tpserver-py isn't going to change for the web client | 01:29 |
mithro | so you are going to have to figure out how to login and then send the correct orders | 01:29 |
mithro | making a new connection to the tpserver for each web connection is a very bad option | 01:32 |
dmpayton | no, it'd make a single connection and send all orders through that. | 01:33 |
dmpayton | How does the tpserver match a connection with a player? (ie. does it match the connection to the username or some other unique id?) | 01:40 |
mithro | dmpayton: ? | 01:41 |
mithro | the way you talk to a server is you go | 01:41 |
mithro | connect packet -> | 01:42 |
mithro | <- okay | 01:42 |
mithro | login packet -> | 01:42 |
mithro | <- okay | 01:42 |
mithro | get object xyz -> | 01:42 |
mithro | <- object xyz | 01:42 |
mithro | add order to slot x on object xyz -> | 01:42 |
mithro | <- okay | 01:42 |
mithro | remove order from slot x on object xyz -> | 01:43 |
mithro | <- error, no such order | 01:43 |
mithro | as it is one continous connection | 01:48 |
mithro | we don't need to worry about sending a user ID each time | 01:48 |
mithro | as we know that this connection is for this user | 01:48 |
dmpayton | Right. | 01:49 |
dmpayton | So, given what you said, how would two users share a single connection? | 01:54 |
mithro | they can't | 01:58 |
dmpayton | Hmm | 02:02 |
mithro | you will need to make a new connection for each user | 02:02 |
dmpayton | Didn't you say that would be a very bad option? | 02:04 |
mithro | no, a new connection for each HTTP web request | 02:05 |
dmpayton | Ah, okay | 02:06 |
mithro | so how is it going? | 02:16 |
CIA-32 | fr33.em4il tpserver-cpp-rfts * r2fbba90b0875 /modules/games/rfts/ (rftsturn.cpp rftsturn.h): Just adding for future usage. | 02:31 |
dmpayton | mithro: I'll have something for you to look at in a few minutes. | 02:34 |
mithro | dmpayton: okay cool | 02:34 |
mithro | just ping me when you want | 02:45 |
dmpayton | mithro: ping? | 03:05 |
mithro | dmpayton: pong! | 03:05 |
dmpayton | Check your email | 03:05 |
mithro | how is the list of tasks going? | 03:07 |
dmpayton | Sorting it right now. | 03:09 |
dmpayton | How's the doc? does the diagram make sense? | 03:10 |
dmpayton | What about the process? sound like it'll work? | 03:10 |
*** xdotx has quit IRC | 03:11 | |
mithro | just writing comments now | 03:11 |
dmpayton | Okay. | 03:11 |
dmpayton | I've gotta be going soon. An early morning awaits... | 03:12 |
mithro | sent first round | 03:13 |
mithro | is the daemon threaded or work on some async method? | 03:13 |
mithro | that is one I forgot | 03:13 |
dmpayton | ? | 03:14 |
mithro | dmpayton: well, there are two ways to design the daemon | 03:16 |
mithro | one is where you have a thread per connection which blocks when there is no data | 03:16 |
mithro | the other is where you have a cooperative multitasking type system | 03:17 |
mithro | in a single thread | 03:17 |
mithro | both have there problems/benifits | 03:19 |
mithro | can you can do either with libtpproto/libtpclient-py | 03:20 |
dmpayton | I'll have to look into it. | 03:24 |
mithro | tpserver-py is (almost) a single threaded design | 03:24 |
mithro | tpclient-pywx is a multi-threaded design | 03:24 |
dmpayton | I'm gonna call it a night for tonight. | 03:27 |
dmpayton | I'll be on tomorrow around 5pm my time | 03:28 |
dmpayton | mithro: replied to your email, btw | 03:28 |
mithro | okay | 03:28 |
mithro | so your not going to have any time to do things tommorrow? | 03:28 |
mithro | btw what do you have for the tasks so far? | 03:29 |
dmpayton | I missed the appointment with work I had today (tire blew out on the freeway), so I told them I'd be in tomorrow morning, and I wont have a ride home from there till my wife gets out of class at 4pm | 03:30 |
mithro | okay | 03:30 |
dmpayton | I may be on IRC during the day, but unable to do any work. | 03:30 |
mithro | if you could work on the tasks and the database design tommorrow that would be good | 03:31 |
dmpayton | I have some tasks written down, but not really in order. | 03:31 |
dmpayton | Will do. | 03:31 |
mithro | (don't really need a computer for either of them :) | 03:31 |
dmpayton | I'll catch ya tomorrow. | 03:31 |
*** nash has quit IRC | 03:31 | |
dmpayton | I'll also make a blog post tomorrow explaining everything that's been going on lately. | 03:32 |
* dmpayton out | 03:32 | |
*** dmpayton has quit IRC | 03:32 | |
*** tuna-fish has quit IRC | 03:42 | |
*** tuna-fish has joined #tp | 03:54 | |
*** tuna-fish has quit IRC | 04:36 | |
*** tuna-fish has joined #tp | 04:38 | |
*** jotham is now known as mikedoty- | 04:48 | |
*** mikedoty- is now known as jotham | 04:48 | |
mithro | hey jotham | 05:01 |
*** tuna-fish has quit IRC | 05:08 | |
*** tuna-fish has joined #tp | 05:10 | |
*** tuna-fish has quit IRC | 05:15 | |
*** tuna-fish has joined #tp | 05:19 | |
*** tuna-fish has quit IRC | 05:23 | |
* mithro ponders if niphree will turn up for the weekly meeting.... | 06:00 | |
mithro | ~seen niphree | 06:08 |
tpb | mithro: niphree was last seen in #tp 1 week, 6 days, 10 hours, 47 minutes, and 39 seconds ago: <niphree> good night all | 06:08 |
*** _JLP_ has joined #tp | 06:50 | |
*** JLP has quit IRC | 06:51 | |
*** nash has joined #tp | 07:08 | |
* nash waves | 07:11 | |
mithro | hey nash | 07:11 |
mithro | how long you going to be around tonight? | 07:11 |
nash | mithro: Not sure | 07:12 |
nash | Either 10 minutes or an hour most likely | 07:12 |
nash | why? | 07:12 |
mithro | I want to show you something | 07:13 |
nash | Anything cool? | 07:13 |
mithro | dunno :P | 07:15 |
CIA-32 | mithro tpserver-py * r789f8ec07b83 /tp/server/rules/timtrader/ (6 files in 4 dirs): Initial timtrader commit. | 07:15 |
CIA-32 | mithro tpserver-py * rd9c7b910932a /tp/server/rules/timtrader/ (8 files in 3 dirs): | 07:15 |
CIA-32 | Added the resources CSV. | 07:15 |
CIA-32 | The prodcon file now checks that all goods are defined in Resources.csv | 07:15 |
CIA-32 | mithro tpserver-py * rb3c980bf84ab /tp/server/rules/timtrader/ (__init__.py objects/Planet.py other/resources.ods): | 07:15 |
CIA-32 | Added start of the planet class. | 07:15 |
CIA-32 | Starting adding grouping to the resource list. | 07:15 |
mithro | :) | 07:16 |
nash | bah... spoilt my weekends hacking | 07:16 |
mithro | nash: well it's not in a working state yet | 07:16 |
mithro | Hopefully you'll hack on tpserver-py now instead of the evil tpserver-cpp :) | 07:17 |
mithro | have a read of | 07:17 |
mithro | http://git.thousandparsec.net/gitweb/gitweb.cgi?p=tpserver-py.git;a=blob;f=tp/server/rules/timtrader/README;h=f668401a3a9b5c34b8a2ba7f957a5a3f15513b8f;hb=789f8ec07b830320d3dd374caba14e12219535d4 | 07:18 |
tpb | <http://ln-s.net/em9> (at git.thousandparsec.net) | 07:18 |
mithro | It's not quite your version of Trader, but I think it'll be a cool test | 07:18 |
* nash loks | 07:19 | |
mithro | my coding has already highlighted a few small deficencies in tpserver-py | 07:19 |
nash | mithro: I'm not a fan of python :-( | 07:19 |
nash | If it was lua... well that's a different matter ;-) | 07:19 |
mithro | python > C++ | 07:19 |
mithro | your a C fan, you have to hate C++ :) | 07:19 |
nash | I do | 07:20 |
nash | But it's much easier to write C in C++ then python ;-) | 07:20 |
nash | At least pointers work | 07:20 |
nash | Anyway, I'm going to hack at getting some order stuff to work now in galaxie ;-) | 07:21 |
nash | So what works at the moment? | 07:23 |
nash | mithro: ? | 07:25 |
mithro | not a lot | 07:25 |
mithro | I hope to have the economy working before the weekend | 07:25 |
nash | So basically game flow is for player is: | 07:25 |
nash | Work out what resources to get rid off | 07:26 |
nash | Work out what to pick up | 07:26 |
mithro | there is a file which reads in the CSV file and setups the producer/consumer factories | 07:26 |
nash | Set destination | 07:26 |
nash | hmm... been a while since I updated apparently... | 07:26 |
nash | cg-update | 07:26 |
nash | ... | 07:26 |
nash | Indexing 274 objects. | 07:26 |
mithro | :P | 07:26 |
nash | Does tpserver-py just work yet? | 07:27 |
nash | ie When can I just do a './tpserver-py' and things just work? | 07:27 |
mithro | almost | 07:27 |
mithro | cp config.py-template config.py; ./tpserver-py | 07:27 |
* mithro ponders | 07:27 | |
mithro | maybe I should put that in tpserver-py if it can't find a config.py | 07:27 |
nash | tranquillity:[~/work/thousandparsec/tpserver-py]% ./tpserver-py | 07:28 |
nash | Traceback (most recent call last): | 07:28 |
nash | File "./tpserver-py", line 8, in ? | 07:28 |
nash | from tp.server import FullServer | 07:28 |
nash | File "/home/nash/work/thousandparsec/tpserver-py/tp/server/__init__.py", line 21, in ? | 07:28 |
nash | from config import dbconfig, dbecho, servername, serverip, metaserver | 07:28 |
nash | ImportError: cannot import name servername | 07:28 |
nash | Nope.. second time it game be: | 07:28 |
nash | Traceback (most recent call last): | 07:29 |
nash | File "./tpserver-py", line 29, in ? | 07:29 |
nash | main() | 07:29 |
nash | File "./tpserver-py", line 15, in main | 07:29 |
nash | s = FullServer("", port, port+1) | 07:29 |
nash | File "/home/nash/work/thousandparsec/tpserver-py/tp/server/__init__.py", line 580, in __init__ | 07:29 |
nash | from discover import DiscoverServer | 07:29 |
nash | File "/home/nash/work/thousandparsec/tpserver-py/tp/server/discover.py", line 6, in ? | 07:29 |
nash | from tp.netlib.discover import RemoteServer as RemoteServerB | 07:29 |
nash | ImportError: cannot import name RemoteServer | 07:29 |
mithro | you need to update libtpproto-py | 07:30 |
* nash will be so glad when there are packaages for this stuff | 07:30 | |
mithro | is it really that hard to update libtpproto-py before tpserver-py? | 07:31 |
mithro | hrm... looks like config.py-template needs a few small changes | 07:32 |
nash | So in that list of errors up there... which bit is supposed to tell me that I need a newer version of libtpproto-py? | 07:32 |
nash | (99, 'Cannot assign requested address') This port in use... 7810 | 07:33 |
nash | Ports [7811] [7812] | 07:33 |
nash | (98, 'Address already in use') This port in use... 7811 | 07:33 |
nash | Ports [7812] [7813] | 07:33 |
nash | Found pyopenssl | 07:33 |
nash | Setup UNIX signalling | 07:33 |
nash | SIGUSR1 should be used after turn generation to notify clients | 07:33 |
nash | SIGUSR2 should be used after adding a new game | 07:33 |
nash | (99, 'Cannot assign requested address') This port in use... 7812 | 07:33 |
nash | Ports [7813] [7814] | 07:33 |
nash | (98, 'Address already in use') This port in use... 7813 | 07:33 |
nash | Ports [7814] [7815] | 07:33 |
nash | Found pyopenssl | 07:33 |
nash | Setup UNIX signalling | 07:33 |
nash | SIGUSR1 should be used after turn generation to notify clients | 07:33 |
nash | SIGUSR2 should be used after adding a new game | 07:33 |
nash | (99, 'Cannot assign requested address') This port in use... 7814 | 07:33 |
nash | Ports [7815] [7816] | 07:33 |
nash | (98, 'Address already in use') This port in use... 7815 | 07:33 |
nash | Ports [7816] [7817] | 07:33 |
nash | Found pyopenssl | 07:33 |
nash | Setup UNIX signalling | 07:33 |
nash | SIGUSR1 should be used after turn generation to notify clients | 07:33 |
nash | SIGUSR2 should be used after adding a new game | 07:33 |
nash | (99, 'Cannot assign requested address') This port in use... 7816 | 07:33 |
nash | Ports [7817] [7818] | 07:33 |
nash | (98, 'Address already in use') This port in use... 7817 | 07:33 |
nash | Ports [7818] [7819] | 07:34 |
nash | Found pyopenssl | 07:34 |
nash | Setup UNIX signalling | 07:34 |
nash | SIGUSR1 should be used after turn generation to notify clients | 07:34 |
nash | SIGUSR2 should be used after adding a new game | 07:34 |
nash | (99, 'Cannot assign requested address') This port in use... 7818 | 07:34 |
nash | Ports [7819] [7820] | 07:34 |
nash | (98, 'Address already in use') This port in use... 7819 | 07:34 |
mithro | I got the message after the first one | 07:34 |
nash | Ports [7820] [7821] | 07:34 |
nash | Found pyopenssl | 07:34 |
nash | Setup UNIX signalling | 07:34 |
nash | SIGUSR1 should be used after turn generation to notify clients | 07:34 |
nash | SIGUSR2 should be used after adding a new game | 07:34 |
nash | (99, 'Cannot assign requested address') This port in use... 7820 | 07:34 |
nash | Ports [7821] [7822] | 07:34 |
nash | (98, 'Address already in use') This port in use... 7821 | 07:34 |
nash | Ports [7822] [7823] | 07:34 |
nash | Found pyopenssl | 07:34 |
nash | Setup UNIX signalling | 07:34 |
nash | SIGUSR1 should be used after turn generation to notify clients | 07:34 |
nash | SIGUSR2 should be used after adding a new game | 07:34 |
nash | (99, 'Cannot assign requested address') This port in use... 7822 | 07:34 |
nash | Ports [7823] [7824] | 07:34 |
nash | (98, 'Address already in use') This port in use... 7823 | 07:34 |
nash | Ports [7824] [7825] | 07:34 |
nash | Found pyopenssl | 07:34 |
nash | Setup UNIX signalling | 07:34 |
nash | I'm guessing that isn't suppoed to happen | 07:34 |
nash | Pasted a bit more then I wanted. | 07:35 |
nash | I assume is started in the high 6000s.. | 07:35 |
nash | To reproduce -- keep a version of tpserver-cpp running ;-) | 07:35 |
mithro | actually that doesn't make any sense | 07:36 |
mithro | because the bind should succeed when you reach ports above tpserver-cpp | 07:38 |
mithro | This is what I get | 07:38 |
mithro | Ports [6923] [6924] | 07:38 |
mithro | (98, 'Address already in use') This port in use... 6923 | 07:38 |
mithro | Ports [6924] [6925] | 07:38 |
mithro | (98, 'Address already in use') This port in use... 6924 | 07:38 |
mithro | Ports [6925] [6926] | 07:38 |
mithro | Unable to import pyopenssl | 07:38 |
mithro | can you try again with a | less and then tell me what the top bit looks like | 07:40 |
*** tuna-fish has joined #tp | 07:41 | |
nash | No module named avahi | 07:42 |
nash | No module named bonjour | 07:42 |
nash | Using pyZeroConf ZeroConf implimentation... | 07:42 |
nash | No module named avahi | 07:42 |
nash | No module named bonjour_server | 07:42 |
nash | Using pyZeroConf ZeroConf implimentation... | 07:42 |
nash | Ports [6923] [6924] | 07:42 |
nash | Found pyopenssl | 07:42 |
nash | Setup UNIX signalling | 07:42 |
nash | SIGUSR1 should be used after turn generation to notify clients | 07:42 |
nash | SIGUSR2 should be used after adding a new game | 07:42 |
nash | (99, 'Cannot assign requested address') This port in use... 6923 | 07:42 |
nash | Ports [6924] [6925] | 07:42 |
nash | (98, 'Address already in use') This port in use... 6924 | 07:43 |
nash | Ports [6925] [6926] | 07:43 |
nash | Found pyopenssl | 07:43 |
nash | Setup UNIX signalling | 07:43 |
nash | SIGUSR1 should be used after turn generation to notify clients | 07:43 |
nash | SIGUSR2 should be used after adding a new game | 07:43 |
nash | (99, 'Cannot assign requested address') This port in use... 6925 | 07:43 |
nash | Ports [6926] [6927] | 07:43 |
nash | (98, 'Address already in use') This port in use... 6926 | 07:43 |
nash | Ports [6927] [6928] | 07:43 |
nash | That's the top | 07:43 |
mithro | okay that is enough | 07:43 |
mithro | I think it must be the pyzeroconf stuff... | 07:44 |
mithro | because it doesn't make muc sense | 07:45 |
mithro | the "Cannot assign requested address" | 07:45 |
mithro | :w | 07:45 |
mithro | opps | 07:46 |
mithro | okay able to reproduce it now | 07:50 |
nash | can you fix it however? | 07:51 |
mithro | hopefully... | 07:52 |
CIA-32 | mithro libtpproto-py * r3941d59250d3 /tp/netlib/discover/pyzeroconf_server.py: Dunno how I managed to get this IP address (instead of 0.0.0.0) in here. | 07:54 |
*** tuna-fish has quit IRC | 07:55 | |
nash | Seems to be better | 07:56 |
nash | So how do I get it start a traders game? | 07:56 |
mithro | hrm... I have no fscken idea what just happend | 07:57 |
mithro | I some how did a merge commit | 07:58 |
nash | Yeah? | 07:58 |
mithro | only it merged from a non-existant branch | 07:59 |
mithro | and now I can't do an uncommit | 07:59 |
nash | Weird | 07:59 |
mithro | cg-admin-uncommit won't uncommit a branch | 07:59 |
nash | Very weird | 07:59 |
nash | So is the tree okay? | 07:59 |
nash | mithro: How do I kill tpserver-py now? | 08:01 |
nash | ^\ is a bit of overkill | 08:02 |
nash | ^C doesn't seem to work | 08:02 |
mithro | ^C should work | 08:02 |
nash | Do you want to try | 08:03 |
nash | ? | 08:03 |
mithro | it works here | 08:03 |
nash | hmmm | 08:04 |
nash | strange | 08:04 |
*** llnz has joined #tp | 08:04 | |
mithro | nash: could you try install "python-avahi" ? | 08:05 |
nash | installing | 08:06 |
mithro | I should test the pyzeroconf stuff more, i have avahi installed locally, so libtpproto-py uses that instead | 08:07 |
mithro | the pyzeroconf is like 100 times slower then avahi too :/ | 08:10 |
CIA-32 | mithro tpserver-py * r66163aa488b4 /config.py-template: | 08:10 |
CIA-32 | Updated to the config template. | 08:10 |
CIA-32 | My local config settings had leaked into the file. | 08:10 |
CIA-32 | mithro tpserver-py * r816ec397df7b /tpserver-py: Copy the config template to the config file if started without a config. | 08:10 |
CIA-32 | mithro tpserver-py * r0123cb786289 /tp/server/discover.py: Only start the metaserver thread if the metaserver setting is valid. | 08:10 |
CIA-32 | mithro tpserver-py * re14ef4c603d8 /tp/server/__init__.py: Only start the discover threads when we also start serving. | 08:10 |
mithro | at the moment you can't start a timtrader game | 08:11 |
mithro | you can go and look at the producers/consumers stuff | 08:11 |
mithro | by going into ./tp/server/rules/timtrader/ | 08:12 |
nash | mithro: Okay... we I'll keep hacking at galaxie for tonight then | 08:12 |
mithro | python ProducersConsumers.py | 08:12 |
nash | Getting somewhere with order display, and want to submit very soon... | 08:12 |
mithro | nash: that will be cool | 08:13 |
mithro | I have yet to figure out how to do the cost structure | 08:14 |
nash | heh | 08:14 |
nash | Economies are hard? | 08:14 |
mithro | IE How much a person gets for moving stuff about | 08:15 |
nash | Yep | 08:16 |
nash | Start with 1 credit per unit and go from there | 08:16 |
mithro | which of these is the correct spelling? | 08:30 |
mithro | def initialise(self): | 08:30 |
mithro | def initalise(self): | 08:30 |
nash | the first | 08:31 |
nash | initial | 08:31 |
mithro | diff doesn't do a very good job of CSV files :/ | 08:35 |
CIA-32 | mithro tpserver-py * r6fe46ac32c1e /tp/server/bases/Resource.py: Can get resource by name now. | 08:35 |
CIA-32 | mithro tpserver-py * r901689f9f1bb / (3 files in 3 dirs): Fix spelling mistake. (initalise -> initialise) | 08:35 |
CIA-32 | mithro tpserver-py * r8b3a90bacdd0 /tp/server/rules/timtrader/ (7 files in 3 dirs): Can now initialise the game and all the resources are correctly created. | 08:35 |
nash | heh | 08:36 |
CIA-32 | mithro tpserver-py * rf48a3afc735b /tp/server/rules/timtrader/other/ (resources.csv resources.ods): Add the credit resource. | 08:38 |
mithro | no niphree tonight :/ | 08:39 |
mithro | dmpayton is making progress however | 08:40 |
* mithro ponders | 08:40 | |
mithro | researching this ruleset has made me find some deficencies | 08:41 |
mithro | we need a way for the orders to describe a valid set of arguments | 08:42 |
mithro | IE We currently can't describe that you can have a mixture of any resource up to 100kt's | 08:42 |
nash | So basically you need to send an orders constraints function | 08:44 |
nash | more code sendt over the wire basically | 08:44 |
mithro | yeah, that is what I was thinking | 08:44 |
mithro | also need to differentiate from "suggestions" and "hard errors" | 08:44 |
llnz | add a new orderparameter type | 08:45 |
mithro | IE The system might suggest that you can only load 10kt from this planet (for that resource) - but a player knows better, by the time the load order occurs another ship will have dumped it's load | 08:45 |
mithro | maybe we need to move orders towards a system similar to designs? | 08:47 |
llnz | ? | 08:47 |
mithro | IE based around tpcl code being executed | 08:48 |
mithro | which checks the sanity of the orders locally | 08:48 |
llnz | yuck | 08:48 |
mithro | llnz: why? | 08:48 |
nash | or maybe we just leave it for a while until something like tp04 is sorted.. | 08:48 |
mithro | nash: the transport problem would be nice to solve in tp04 :) | 08:49 |
mithro | llnz: Can you think of another way to describe complicated things like load/unload orders? | 08:50 |
*** MihaiBalan has joined #tp | 08:50 | |
mithro | hey MihaiBalan | 08:50 |
MihaiBalan | hello | 08:50 |
llnz | mithro: make them take the maximum amount to load/unload, not the exact amount | 08:52 |
nash | ie make it a unload request ;- | 08:52 |
nash | ) | 08:52 |
mithro | llnz: but what happens if there are incompatible cargo? IE Radioactive material and people | 08:53 |
nash | mithro: walk before you can fly | 08:53 |
mithro | nash: our current system is walking :P | 08:53 |
llnz | the user would know the problem, and could learn it if they don't | 08:53 |
llnz | learning happens after accidents | 08:54 |
nash | Document it... else let the people become 'radiated meat' | 08:54 |
nash | ala frontier slaves + no life support -> animal products | 08:54 |
mithro | llnz: but it's annoying, the system should warn you "Loading People and Radioactive material will cause the people to die!" | 08:54 |
llnz | the player will only do it once | 08:55 |
nash | mithro: Sure... in the documethnation | 08:55 |
mithro | but imagine if there where 30 of those type of combinations - remebering them all would suck | 08:56 |
nash | mithro: you are over genericising... focus on the core issues, and wait to see what happens once people are using it | 08:57 |
mithro | nash: but at the moment, we have no way to describe "maximums" | 08:58 |
nash | Umm.. I could have sworn there was a 'max' parameter to the range type? | 08:58 |
llnz | max in quality list too | 08:58 |
mithro | but that is not an "overall maximum" | 08:59 |
mithro | just a maximum for each item? | 08:59 |
nash | Adding a max to a list would make sense | 08:59 |
llnz | add a new order parameter that has an overall maximum | 08:59 |
llnz | s/add/suggest/ | 09:03 |
mithro | okay | 09:03 |
jotham | be very long-lived," he said. | 09:03 |
jotham | damn | 09:03 |
jotham | http://www.telescope.com/shopping/product/detailmain.jsp?itemID=80791&itemType=PRODUCT | 09:04 |
tpb | <http://ln-s.net/enk> (at www.telescope.com) | 09:04 |
jotham | i wonder how visible those are | 09:04 |
jotham | xwindows 99 clipboards thwart me again | 09:04 |
mithro | that sounds rather dangerous | 09:05 |
mithro | well I think I'm going to head to bed | 09:06 |
nash | night | 09:07 |
nash | I shall shortly too | 09:07 |
* nash hasn't achieved what he wanted to do and is upset by this :-( | 09:07 | |
jotham | same | 09:07 |
jotham | my gf and i have been rowing :\ | 09:07 |
jotham | later | 09:07 |
nash | night | 09:07 |
* llnz watches the start of the america's cup race | 09:07 | |
*** MihaiBalan has quit IRC | 09:13 | |
*** nash has quit IRC | 09:26 | |
* llnz wanders off | 09:28 | |
llnz | later all | 09:28 |
*** llnz has quit IRC | 09:28 | |
*** tuna-fish has joined #tp | 09:46 | |
*** zipola has joined #tp | 11:05 | |
*** DystopicFro has quit IRC | 11:29 | |
*** DystopicFro has joined #tp | 12:03 | |
*** tuna-fish has quit IRC | 12:22 | |
*** _JLP_ is now known as JLP | 13:09 | |
*** mithro has quit IRC | 13:44 | |
*** zipola has quit IRC | 16:13 | |
*** tuna-fish has joined #tp | 16:40 | |
*** tuna-fish has quit IRC | 17:16 | |
*** niphree has joined #tp | 17:55 | |
niphree | hello | 17:55 |
CIA-32 | niphree /tmp/ya1o9OY9pz/JTj3q4Ny54-rewrite * r3c184f27d09e / (class/Backend.php index.php): | 18:05 |
CIA-32 | workin version | 18:05 |
CIA-32 | workin version of metaserver - added some new function to Backed class. | 18:05 |
CIA-32 | via git-CVS emulator | 18:05 |
*** niphree_ has joined #tp | 18:06 | |
*** niphree has quit IRC | 18:13 | |
*** nash has joined #tp | 18:23 | |
CIA-32 | niphree /tmp/9GAp5aG0LR/LHw6IB7p8A-rewrite * r0ebebd8915e1 / (class/Backend.php index.php): | 18:36 |
CIA-32 | Fixed error time error in backend class | 18:36 |
CIA-32 | added function for substracting time in Backend class | 18:36 |
CIA-32 | fixed error in "get" action | 18:36 |
CIA-32 | via git-CVS emulator | 18:36 |
* nash waves to DystopicFro | 19:20 | |
*** daxxar has quit IRC | 20:21 | |
*** daxxar has joined #tp | 20:22 | |
DystopicFro | nash: ahoy | 20:51 |
nash | DystopicFro: How is it going? | 20:52 |
DystopicFro | I managed to break the repo on the tpserv >.< | 20:52 |
nash | You too? | 20:52 |
DystopicFro | I updated with your changes after I made changes...so had to go through a merge | 20:52 |
nash | mithro screwed up | 20:52 |
nash | Yep? And what was the problem? | 20:52 |
DystopicFro | and when I tried to push to the tpserver it gives me a write access error, lemme get the exact error message | 20:52 |
nash | Ahh... permissions error on the server I bet | 20:53 |
nash | Not your problem... server config issue | 20:53 |
nash | No mithro... no llnz.. hmm... | 20:53 |
DystopicFro | aye, "unable to write sha1 filename ./objects/~~~~~~" | 20:53 |
DystopicFro | Permission denied (silly cygwin window that I can't copy out of) | 20:53 |
nash | Just commit locally,. as soon as mithro gets on I'll get him to fix the permissions on the server | 20:53 |
nash | Basically a +t is missing | 20:54 |
DystopicFro | ah, kk, yeh, jgard.dyndns.org has the latest | 20:54 |
nash | DystopicFro: No biggy... You can still commi t locally safely | 20:54 |
nash | DystopicFro: What is that full path? | 20:54 |
DystopicFro | git://jgard.dyndns.org/tpruledev | 20:54 |
nash | One nice thing about git is I can pull from there safely | 20:55 |
DystopicFro | aye, git has been quite pleasurable to use so far | 20:56 |
DystopicFro | kk, back to teh family stuffs, just checking in | 20:56 |
nash | One little thing - generally you want to commit before you pull | 20:56 |
DystopicFro | nash: will do in the future, thanks for the tip >.< | 20:56 |
nash | If necessary vreate a temp brach commit there, jump back and pull | 20:56 |
nash | Do you want me to try and push for you? | 20:57 |
* nash tries | 20:58 | |
CIA-32 | frodough tpruledev * rbed97305680c / (14 files in 6 dirs): | 20:58 |
CIA-32 | Imported Minisec Objects as Project | 20:58 |
CIA-32 | I'll start the code generation with Minisec...once that's working we | 20:58 |
CIA-32 | can move on to bigger and better things. Also made Minisec the default | 20:58 |
CIA-32 | project. | 20:58 |
CIA-32 | frodough tpruledev * r8260643e4915 /src/game_objects/ (5 files in 2 dirs): Converted PropertyPanel to use XRC | 20:58 |
CIA-32 | frodough tpruledev * r4f4b394ed323 /README: | 20:58 |
CIA-32 | Merge with git+ssh://[email protected]/git/tpruledev.git | 20:58 |
CIA-32 | I'm guessing that this is because I didn't update with the README modifications that nash made...no biggie *crosses fingers* | 20:58 |
CIA-32 | frodough tpruledev * rb3e07d74dc92 / (Minisec/tprde.cfg notes.txt): Fixed Minisec project file | 20:58 |
nash | DystopicFro: ;-) | 20:58 |
DystopicFro | nash: awesome, many thanks | 20:58 |
nash | Apparently I own the files and you can't write them ;-) | 20:58 |
DystopicFro | hah | 20:58 |
nash | DystopicFro: Did you get a sourceforge account then? | 20:59 |
DystopicFro | yes, and mithro got me all set up | 20:59 |
nash | Excellent | 20:59 |
nash | Did you see mithro's new ruleset BTW? | 20:59 |
DystopicFro | the timtrader one? | 20:59 |
nash | Yah | 21:00 |
DystopicFro | aye, saw you two talking about that on irc | 21:00 |
nash | Any thoughts? Any potential you want ot add to it? | 21:00 |
DystopicFro | not as of yet, nar, kk, off with teh kid to help her make a call, mebbeh back later tonight | 21:03 |
nash | okay - talk to you tomorrow then - have fun | 21:04 |
*** mithro has joined #tp | 21:24 | |
mithro | howdy people | 21:25 |
mithro | ~seen dmpayton | 21:25 |
tpb | mithro: dmpayton was last seen in #tp 17 hours, 52 minutes, and 36 seconds ago: * dmpayton out | 21:25 |
*** dmpayton has joined #tp | 21:50 | |
mithro | speak of the devil | 21:52 |
mithro | ~seen niphree | 21:52 |
tpb | mithro: niphree was last seen in #tp 3 hours, 56 minutes, and 32 seconds ago: <niphree> hello | 21:52 |
mithro | arg, just missed her | 21:52 |
mithro | dmpayton: how did everything go today? | 21:53 |
dmpayton | mithro: f'n great! I love this place. | 21:53 |
mithro | dmpayton: your new job? | 21:53 |
dmpayton | Yeah | 21:54 |
dmpayton | Everything was super busy so I didn't get a chance to work on the list at all | 21:54 |
nash | mithro: BTW: Can you take a look at the permissions in tpruledev. Since I commited DystopicFro can;'t push | 21:54 |
dmpayton | I just got home a few minutes ago. I'm gonna grab some dinner and get started. | 21:54 |
mithro | nash: fixed the permissions, something screwy is going on there | 21:59 |
nash | Cool | 21:59 |
nash | Wrong umasks or a missing 't'? | 22:00 |
mithro | i never understood unix special permissions (IE the t/s stuff) | 22:04 |
mithro | When setgid is applied to a directory, new files and directories created under that directory will inherit the group from that directory. | 22:07 |
mithro | IE All directories should have +s right? | 22:07 |
nash | Yes, that's correct | 22:08 |
nash | however the catch is - it depends on both filesystem and unix flavour... | 22:09 |
nash | And the question of if it is recursive or not comes up... | 22:09 |
mithro | unix permissions suck | 22:10 |
nash | You would prefer to try and manage ACLs? | 22:11 |
mithro | yes, just 1 ACL on the top level directory which casecades "This group has full control over any file created in this directory" | 22:13 |
nash | Except that isn't an ACL... and what if you submount? | 22:14 |
mithro | I personally think it should follow the submount | 22:15 |
mithro | permissions being locked to the filesystem has always seem strange to me | 22:16 |
nash | permissions are locked to the files, not the system | 22:17 |
nash | ie... Unix has a simplified ACL syste, | 22:17 |
mithro | not really, Samba, Unix permissions, XFS ACL's, AFS ACL's | 22:17 |
mithro | they are all different | 22:17 |
mithro | anyway | 22:18 |
mithro | it should be fixed now | 22:18 |
mithro | nash: so where is galaxie at these days? | 22:57 |
dmpayton | mithro: ping? | 23:44 |
mithro | dmpayton: pong! | 23:44 |
mithro | my gf just arrived so may disappear at any time | 23:44 |
dmpayton | No worries. | 23:44 |
dmpayton | Sorry that took so long. Wife was giving me a neck/shoulder rub. Lately I've been having a real bad pain in my right arm. | 23:45 |
dmpayton | I'm gonna go pop a vicodin, lay down, and work on the list untill I pass out | 23:45 |
mithro | vicodin? | 23:45 |
dmpayton | pain killer | 23:45 |
dmpayton | lemme find the generic name... | 23:46 |
dmpayton | Well... here | 23:46 |
dmpayton | http://en.wikipedia.org/wiki/Vicodin | 23:46 |
tpb | Title: Vicodin - Wikipedia, the free encyclopedia (at en.wikipedia.org) | 23:46 |
dmpayton | Ooh, it mentions House MD in that article. | 23:48 |
mithro | okay, so I'll expect some more stuff tommorrow? | 23:48 |
dmpayton | Yeah, I should have something for you to look at tomorrow. | 23:50 |
mithro | okay should be on most of tommorrow | 23:51 |
dmpayton | Alright. | 23:51 |
dmpayton | I'll see if I can get on IRC at the shop | 23:51 |
dmpayton | depending on how busy things get | 23:51 |
dmpayton | I introduced everyone to Ubuntu today | 23:52 |
dmpayton | anyways | 23:53 |
dmpayton | gngiht | 23:53 |
dmpayton | gnight | 23:53 |
*** dmpayton has quit IRC | 23:53 |
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!