// $Id: installation,v 1.20 2007/06/03 19:45:05 orts_mburo Exp $ Software installation process ----------------------------- There are 25 sets of accounts. Each set contains 3 accounts (s=setup,t=test,r=run): rts??s , rts??t, rts??r where ?? is 00..24 (See account assignment below) To gain access to these accounts competitors send ssh keys to the tourny admin (John Bartoszewski, johnb at ugrad.cs.ualberta.ca, cc to labadmin at ugrad.cs.ualberta.ca), together with a "secret" unsigned 4 byte integer which will be used to create a seed for the ORTS server. Use subject line "ORTS data" and body Team: * Account: rts?? ssh-key: starting with ssh-rsa seed: eg. 0x0a0f0304 Each competitor should log in to the setup account: eg. rts01s When each competitor has their code working and ready to enter into the competition they: 1) chmod all files needed to their group: eg: chmod 750 a.out 2) make a set of instructions for how to install the software in file ~/README 3) test their instructions in a clean account: Each set of accounts has a test account so competitors can test their code in the same environment as it will be run in: eg. rts01t competitors ssh into these accounts (ssh keys are already set up): eg: ssh rts01t@ui03 they should follow the instructions to install their code in the test account: eg: cp ~rts01s/a.out . 4) when their instructions work in the test account, send an email to the tourny admins (subject: ORTS works) 5) in case of problems, also send email (subject: ORTS problem) The tourny admins have access to the rtsadm account which can ssh into the run accounts for each set: eg: ssh rts01r@ui22 The run accounts have the same permissions as the test accounts. Tournament accounts will be frozen in the last week of May just before the tournament commences. It is important to stress that the UofA team at no time has access to any competitor's code! The machines competitors can login to are ui00.cs.ualberta.ca to ui22.cs.ualberta.ca They are Dell GX270s (P4 2.4GHz, 512M RAM), running Linux 2.4.34, and gcc version 3.4.6. ----------------------------------------------------------------------------- Software requirements: - Executables must be named ~/game1 .. ~/game4 These can be script files or binaries. Make sure to chmod g+rx them, and all paths/files they require. - Executables ~/game? must understand the ORTS network options -host, -port, and -id - In file README describe how to compile/install your software. - Keep the stdout/stderr messages to a minimum for debugging purposes. They will be logged and may lead to network slowdown or quota failures if too much text is generated. - Entries are *not allowed* to write any files (neither in /tmp or the setup/run accounts). That caused problems in the 2006 tournament. - Upon process exit all system resources need to be released. If processes are left behind, the offending entry will be disqualified. - After the tournament, all source code will be made available on the competition web-page. ----------------------------------------------------------------------------- Teams Accounts Cat. Contact Arch Email UofA rts01x 1234 Michael Buro mburo at cs.ualberta.ca Blekinge rts02x 2 4 Johan Hagelback OK jhg at bth.se Balazs rts03x 1 Gabor Balazs ? gabalz at gmail.com NPS rts04x 1 4 Chris Darken ? cjdarken at nps.edu UBC rts05x 2 4 Zhangbo Liu OK zephyr at cs.ubc.ca NUS rts06x 2 4 Yew Jin limyewji at comp.nus.edu.sg WarsawA rts07x 12 4 Tomasz Batkiewicz tb209231 at students.mimuw.edu.pl WarsawB rts08x 12 4 Krzysztof Zarzycki k.zarzycki at students.mimuw.edu.pl UMich rts11x 1234 Sam Wintermute sam.wintermute at gmail.com Carlos rts13x 1 Vidal Alcazar vidal.alcazar at alumnos.uc3m.es x=s/t/r ------------------------------------------------------------------------------ issues: no shows: WarsawC rts09x 1234 Arkadiusz Kindziuk ak174732 at zodiac.mimuw.edu.pl WarsawD rts10x 4 Szymon Gwozdz sg236027 at students.mimuw.edu.pl execution test: UofA rts01x 1234 OK Blekinge rts02x 2 4 absolute path missing, run ssh rts02r@ui00 "cd ~rts02s; ./game2/4" Balazs rts03x 1 invoke with ssh rts03r@ui00 "cd ~rts03s/game1; ./blazi-client" writes to file system: chmod -R g+w . NPS rts04x 1 4 OK UBC rts05x 2 4 OK NUS rts06x 2 4 OK WarsawA rts07x 12 4 writes to file system: chmod -R g+w . WarsawB rts08x 12 4 OK UMich rts11x 1234 NOT OK: rtsadm@ui00:~>ssh rts11r@ui00 "~rts11s/game1" /home/dsk07/rts/rts11s/game1: line 1: /home/dsk07/rts/rts11s/orts3/bin/sorts_game1: Permission denied rtsadm@ui00:~>ssh rts11r@ui00 "~rts11s/game2" /home/dsk07/rts/rts11s/game2: line 1: /home/dsk07/rts/rts11s/orts3/bin/sorts: Permission denied rtsadm@ui00:~>ssh rts11r@ui00 "~rts11s/game3" /home/dsk07/rts/rts11s/game3: line 1: /home/dsk07/rts/rts11s/orts3/bin/sorts: Permission denied rtsadm@ui00:~>ssh rts11r@ui00 "~rts11s/game4" /home/dsk07/rts/rts11s/game4: line 1: /home/dsk07/rts/rts11s/orts3/bin/sorts_game4: Permission denied Carlos rts13x 1 OK The tournament key is 25396559 ----------------------------------------------------------------------------- Final installation instructions: I'd like you to follow these steps to make sure the tournament manager has access to your executables: (XX is your account number) - make all files required by your entries in rtsXXs group executable and readable e.g. chmod -R g+rx . in ~rtsXXs (or just some specific files) - ~rtsXXs/game1 ... ~rtsXXs/game4 must accept or delegate command line options. So, either you have a binary executable - fine - or you have a delegating script. In the latter case it should look like #!/bin/sh ~rtsXXs/orts3/bin/game1.uofa $@ (this is UofA's ~rtsXXs/game1 file, adjust the second line to your needs) The absolute path (~rtsXXs/...) is important (because we start this script via ~rtsXXr) and so is $@, which passes all parameters to our executable. - you can test whether everything is working by logging on to your rtsXXt account and issuing ~rtsXXs/game1 ... ~rtsXXs/game4 If your code is based on the ORTS client, this should write something like ERROR: /home/dsk07/rts/rtsXXs/orts3/libs/network/src/TCP_Client.C connect() (line 27): can't connect If this works you are done with installation. --------------------------------------------------------------------------------- Cleaning up after testing: Please make sure you kill stray orts processes after you test your entries. On ui03 for instance I see this: rtsadm@ui03:~/orts3>ps auxww | grep orts rts06t 29346 0.0 0.2 2268 1296 ? Ss May25 0:00 bash -c cd ~/orts3/; ./tournament-2007/game4_orts -sdelay 4 -synchro -f 300 -ids player1,player2 -se ed 123456001 -port 7777 -savereplay out/replay/123456001_player1_player2.rpl 2>&1 rts06t 29351 0.0 0.2 2272 1300 ? Ss May25 0:00 bash -c cd ~/orts3/; ./tournament-2007/game4_orts -sdelay 4 -synchro -f 300 -ids player1,player2 -se ed 123456002 -port 7778 -savereplay out/replay/123456002_player1_player2.rpl 2>&1 rts06t 29361 0.0 0.1 2004 956 ? S May25 0:00 /bin/sh ./tournament-2007/game4_orts -sdelay 4 -synchro -f 300 -ids player1,player2 -seed 123456001 -port 7777 -savereplay out/replay/123456001_player1_player2.rpl rts06t 29363 0.0 0.1 2004 956 ? S May25 0:00 /bin/sh ./tournament-2007/game4_orts -sdelay 4 -synchro -f 300 -ids player1,player2 -seed 123456002 -port 7778 -savereplay out/replay/123456002_player1_player2.rpl rts06t 29364 0.0 1.9 19376 9836 ? S May25 0:51 bin/orts -game4 -bp tournament-2007/game4.bp -x 64 -y 48 -fplat 0 -nfog -nplayers 2 -sdelay 4 -synch ro -f 300 -ids player1,player2 -seed 123456001 -port 7777 -savereplay out/replay/123456001_player1_player2.rpl rts06t 29365 0.0 1.8 13276 9680 ? S May25 0:45 bin/orts -game4 -bp tournament-2007/game4.bp -x 64 -y 48 -fplat 0 -nfog -nplayers 2 -sdelay 4 -synch ro -f 300 -ids player1,player2 -seed 123456002 -port 7778 -savereplay out/replay/123456002_player1_player2.rpl rts06t 29737 0.0 0.2 2272 1296 ? Ss May25 0:00 bash -c cd ~/orts3/; ./tournament-2007/game4_orts -sdelay 4 -ids player1,player2 -seed 123456001 -p ort 7777 -savereplay out/replay/123456001_player1_player2.rpl 2>&1 rts06t 29745 0.0 0.1 2004 956 ? S May25 0:00 /bin/sh ./tournament-2007/game4_orts -sdelay 4 -ids player1,player2 -seed 123456001 -port 7777 -save replay out/replay/123456001_player1_player2.rpl rts06t 29746 0.0 1.8 13276 9672 ? S May25 1:46 bin/orts -game4 -bp tournament-2007/game4.bp -x 64 -y 48 -fplat 0 -nfog -nplayers 2 -sdelay 4 -ids p layer1,player2 -seed 123456001 -port 7777 -savereplay out/replay/123456001_player1_player2.rpl rts06t 12176 0.0 1.9 19376 9836 ? S May25 0:00 bin/orts -game4 -bp tournament-2007/game4.bp -x 64 -y 48 -fplat 0 -nfog -nplayers 2 -sdelay 4 -synch ro -f 300 -ids player1,player2 -seed 123456001 -port 7777 -savereplay out/replay/123456001_player1_player2.rpl rts06t 12178 0.0 1.9 19376 9836 ? S May25 0:00 bin/orts -game4 -bp tournament-2007/game4.bp -x 64 -y 48 -fplat 0 -nfog -nplayers 2 -sdelay 4 -synch ro -f 300 -ids player1,player2 -seed 123456001 -port 7777 -savereplay out/ which prevents me from testing. killall orts should do it. If not, try killall -9 orts. ----------------------------------------------------------------------------- Questions/Answers: 1) > With regards to recent posts on the ORTS help forum, we would also like to > confirm the command line parameters used to run the tournament. We are > currently performing tests with the following set: > ./tournament-2007/game?_orts -sdelay 10 -port _PORT_ > ./bin/game? -host _HOST_ -port _PORT_ > ./bin/game? -host _HOST_ -port _PORT_ > all in separate consoles. > > Please let us know if that is sufficiently close to the tournament > environment, as the start up delay can prove to be vital in many > contexts. That's close. We will be using -sdelay 8. Clients are also required to understand the following (standard ORTS) options: Example: ./bin/game1.uofa -host localhost -port 7815 -id new > In addition, we have precomputed data files and would like to use > them in our game. The precomputation may well take over 10 seconds > but they are, fortunately, static. We understand that we cannot > preserve information across game. However, can we read in data > file we pre-generated in our installation step? Moreover, what is > the submission policy for such data? We will certainly submit the > source code of our generator. Would you mind if we upload our > pregenerated data, or must we re-generate the data from sketch in > the installation step? Reading is fine, writing IS NOT. We will use the files installed in the rtsXXs (setup) accounts directly, so copying them into rtsXXr (run accounts) is not required. apps/tmanager will invoke programs like this : ssh rts01r@ui01 ~rts01s/game1 ... This means that all required files (executables and data files) need to have g+rx permissions (rtsXXr is in the same group as rtsXXs). So, just prior to freezing the accounts you need to adjust the permissions of all required files to make them group readable/executable. If you want to access files in ~rtsXXs you need to name their absolute paths in your program (e.g.: fopen("~rtsXXs/foo.dat", mode) ------------------------------------------------- 2) > Just to clarify, the default configuration uses localhost as the server, > and running tmanager with the default configuration does not work as it is > not password-less. (and I do not know what the password is). Is this > supposed to be the case? This is how YOU could use tmanager. In the tournament we will use the tournament accounts which are setup with password less access (via ssh). > > Also, please make sure that by May-27 23:50 MDT executables > ~/game? are installed > in your rtsXXs account. I will be using > those for the tournament. > > Does this mean you are running the programs from the rtsXXs account by > running ~/game? ? Yes, we will use ~rts01s/game1 ... ~rts01s/game4 to start your programs. > Do we still follow the instructions at > and > create ~/README so that the necessary files will be copied from > rtsXXs (together with ~/game? files) int rtsXXr accounts. I kept this just as a reference for people who intend to test your programs. It's immaterial for running the tournament. ------------------------------------------------- 3) > We are just wondering which value of frame persecond you will use to > run the game in the tournament. Is that 8? Yes, 8 fps will be used in all categories. ------------------------------------------------------------------------ Document history: May-09-2007: initial release May-10-2007: 13th entry May-16-2007: removed makefile requirement May-24-2007: author questions addressed May-25-2007: Yew Lin retracts game 1 entry May-25-2007: installation instructions added May-26-2007: Tim Smith retracts entries May-26-2007: added cleanup paragraph May-27-2007: corrected permissions to g+rx May-27-2007: added fps question, renamed some teams