-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
54 lines (40 loc) · 2.39 KB
/
README
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
README FILE FOR THE HASKELL NINE MEN MORRIS PROJECT
author: Felix Moessbauer
maintainer: [email protected]
DESCRIPTION
Implementation of a nine men morris ai that communicates with the LMU NMN gameserver and handles all specified protocol cases.
This implementation fullfills all usefull specifications given here:
http://www.nm.ifi.lmu.de/teaching/Praktika/2014ws/sysprak/
BUILD:
The easiest way to build the client is to call 'cabal build' in the current directory. This builds the binaries with default flags.
After building, binary files are in the dist folder.
Other possible flags are:
- debug enables debug messages and increases verbosity
- functionalai use the simple test ai instead of the clever one
Example:
cabal configure --flags="debug"
cabal configure --flags="debug functionalai"
RUN:
Call 'cabal run' to start the client. If no or wrong arguments are passed to the program, it shows a help message.
To start the client with arguments the best way is to do it this way:
'cabal run -- arg1 arg2 ...'
The double dash is to seperate flags sent to cabal and program arguments. If you want to send flags to cabal,
place these between 'run' and the double dash: 'cabal run -v -- arg1 arg2 ...'
TEST:
Call 'cabal test' to test the AI integrity. If you get a "cabal prelude: no parse" error, try to remove all test
reports and delete the dist directory. This is a cabal bug :(
PROFILING:
If you want to profile, you need to install the profiling version of all libraries. See https://nikita-volkov.github.io/profiling-cabal-projects/
for more information
COMMON MISTAKES:
cabal-install fails because the profiling versions of the libaries are not installed:
If you do not need profiling, delete or rename the file cabal.config. Otherwise you have to install the profiling versions with the
reinstall command. See PROFILING
No Connection:
Be aware, the gameserver is only accessable inside the MWN (Münchner Wissenschaftsnetz). If the client cannot
connect, check your VPN Connection
Connection gets interrupted:
If your internet connection is very slow or has a high latency time, the server might close the connection
in the think phase, because it does not get a response in the expected time window. To check this problem
ping the gameserver and check the round trip time.
If you cannot fix this problem, increase the 'aiTimeoutBuffer' set in Globals.hs