@@ -46,6 +46,15 @@ Le protocole utilisé entre clients et serveur est très simple.
**VERSION** étant la version du protocole utilisée pour le paquet, **LANG** le langage utilisé pour coder les données, **LENGTH** la taille des données, **DATA** les données.
Pour le moment, seul le JSON est utilisé.
Les données JSON comprennent un champ "error".
> 0: OK
> 16: Communication error: decoding header
> 17: Communication error: unsupported protocol version
> 18: Communication error: unknown language
> 19: Communication error: decoding JSON
> 48: Game management error: that game name is already used
# Test game constants (just for testing, do not play with that values)
CONSTS={
"N_VALUES":5,# number of values types
"N_WVALUES":1,# number of waiting values types
"TURN_DURATION":600,# in seconds
"N_TURNS":12,# number of turns in a game
"TURN_YEARS":7,# number of years by turn
"LIFESPAN":9,# max age
"N_DIGITS":2,# number of decimals
"START_VALUES":5# number of random values for beginning
}
HOST=getargv(argv,"-h","127.0.0.1")
try:
PORT=int(getargv(argv,"-p","8651"))
exceptValueError:
print("Error: port must be an integer")
exit(1)
if"--help"inargv:
print("\n\
PyĞeconomicus test client\n\
...
...
@@ -15,13 +34,13 @@ Options:\n\
-p <port> Server port (default: "+str(PORT)+")\n\
--help Show this message\n\
")
exit()
HOST=getargv(argv,"-h","127.0.0.1")
try:
PORT=int(getargv(argv,"-p","8651"))
exceptValueError:
print("Error: port must be an integer")
exit(1)
NEWGAME_DEFS={
"1":{},# Empty, should return error 49
"2":{"name":"Test game"},# Should work once with default values, and return 48 after
"3":{"name":"Foobar","leader_name":"John Doe","leader_address":"testaddr","leader_port":1234,"public":False,"consts":CONSTS}# Should set every parameter