forked from rahulsavani/gte
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README-ALSO
106 lines (84 loc) · 3.7 KB
/
README-ALSO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
gte
is a software suite to create games in extensive and
strategic form interactively, and to compute equilibria of
these games.
The tool may also be used just for drawing extensive games.
In particular, a simple future extension would allow
creating games with 3 players only for drawing, with
equilibrium-finding algorithms a separate matter.
GUI:
This is currently implemented as a Flash program in
Actionscript (files ending in .as).
This is compiled with the flex package into a client
program that runs in a browser.
Game Solvers on the server:
The game generated by the GUI is stored in a file format and
sent to the server.
On the server side, that file is read in, and an algorithm
started. This algorithm maybe be a program written in some
native code, in particular C for the lrs program.
The output of this algorithm is then sent back to the client
to be displayed as a solution.
Current implementation:
At the moment, the server is NOT accessible under a public
URL, because
(a) the program is only a prototype under development so far;
(b) we do not have server resources, in particular for
larger games which take exponential time to solve;
(c) security with the native algorithms is not clear;
(d) running it on the Google app engine (as in an earlier
version) does not allow the use of native algorithms,
only Java programs (precisely for security reasons);
(e) there should be a downloadable version for people who
want to solve larger games.
These issues are addressed as follows:
- a local server is started called Jetty
- the client communicates with that local server on your
machine
- all native algorithms also run locally
This requires a number of installations, documented in the
file README (see numbers there):
1. Java for the server code
2. ANT (a make-like utility for compilation)
3. Jetty
4. Flex
8. C compiler for the native code.
After all these installations, any update of the project
only requires re-compiling the server and client.
The following are configured LOCALLY on your computer and
stay there: the file build.properties that contains the
paths to the flex and jetty installations.
EXAMPLES of build.properties:
on Windows:
FLEX_HOME = C:\\Program Files\\Apache Software Foundation\\flex_sdk_4.1.0.16076A
JETTY_HOME = C:\\Program Files\\Apache Software Foundation\\jetty-distribution-8.1.2.v20120308
WAR_DIST_DIR = D:\\jetty\\webapps
JETTY_DIST_DIR = D:\\jetty
JETTY_ZIP_DIR = D:\\jetty
on Linux:
FLEX_HOME = /home/stengel/bin/flex
JETTY_HOME = /home/stengel/GPORTAL/JETTY/jetty-distribution-7.6.1.v20120215
WAR_DIST_DIR = /home/stengel/GPORTAL/JETTY/jetty-distribution-7.6.1.v20120215/webapps
JETTY_DIST_DIR = /home/stengel/GPORTAL/JETTY/jetty-distribution-7.6.1.v20120215
JETTY_ZIP_DIR = /home/stengel/GPORTAL/JETTY/jetty-distribution-7.6.1.v20120215
Once you get updates from the gte project (with git
pull), all you need (in Linux) is run in the gte directory
the command
ant makeWarFile
which creates the file gte.war which contains the
client program.
To see what does, reload the client program in your browser at the URL
http://127.0.0.1:8080/gte/
If you get the browser message
Unable to connect
Firefox can't establish a connection to the server at
127.0.0.1:8080.
then the jetty server is down, and you need to start it (in
JETTY_HOME, which above is the Linux directory
/home/stengel/GPORTAL/JETTY/jetty-distribution-7.6.1.v20120215
) with
java -jar start.jar
If you want to contribute to the gte project, the first
thing you need to do is to successfully install these
things, and to see if you can re-compile the war file when
there have been changes to the GUI.