Commit graph

36 commits

Author SHA1 Message Date
59c467e988 Add FromClient messages to handle game sync at reconnection and move logs into PublicGame data structure for simplicity 2020-01-20 22:57:13 +01:00
4c404df4d6 Generalize GameState into a concept of game Coordinates, moving the «month» property into it 2020-01-18 09:34:10 +01:00
509a5c453f Take game ID with turn into a GameState sub-structure shared between private and public parts to prevent replay-attack 2020-01-13 08:31:47 +01:00
413d6cfc84 Merge branch 'main' into stateless-game 2020-01-04 12:09:06 +01:00
bac3cc5006 Rename the project «hanafuda-protocol» 2020-01-04 12:06:49 +01:00
1dd31d7091 Make reading IDs safe and provide useful debug messages 2019-12-27 17:55:42 +01:00
c6352a9669 Add GameIDs to PublicGame 2019-12-27 17:55:14 +01:00
b62dc4ff28 LogOut becomes a server message (clients just shut the connection now) 2019-12-24 00:36:17 +01:00
d32e61f927 LogIn is back, but now it's a Server message 2019-12-08 22:57:57 +01:00
ce31683fee Generalize the definition of (From|To)JSON(|Key) to all ID types having a prefix as per the newest changes in the lib 2019-11-20 18:23:57 +01:00
f968c41d9d Follow latest changes in Hanafuda.ID 2019-11-12 22:18:52 +01:00
57370d62ee Throw a couple of Show instance to ease debugging following the e0003c commit in lib 2019-11-12 22:18:33 +01:00
775abd3ac4 No need to separate connection and logIn now that names are non-unique and the PlayerID is known from the start 2019-11-05 18:13:13 +01:00
9c5c80fb3a Still working on the protocol : remove useless PlayerStatus type 2019-10-28 08:18:48 +01:00
816ecbc331 Start removing deprecated data from protocol messages 2019-10-23 17:46:33 +02:00
43b0200304 Store both hands in private state because it's easier to handle and allow the player's hand to remain unsigned (they can modify it, it's not taken into account by the server) 2019-10-22 17:45:07 +02:00
8538b8f5ea Store the player turns in the public state of games 2019-10-22 17:43:33 +02:00
e10afdfac1 Rename fields for lighter syntax 2019-10-17 19:49:50 +02:00
189e29b08c Add a field to store the number of turns played in a round 2019-10-17 19:24:51 +02:00
818c343e89 Use Base64 to correctly handle binary ByteStrings 2019-10-17 18:53:11 +02:00
0c2974b055 Add needed JSON instances for PrivateState 2019-10-17 12:13:15 +02:00
5cccd05290 Use new handier type synonyms from lib 2019-10-17 12:12:51 +02:00
e11a899745 Apparently a nonce will be needed but can be transmitted unciphered along with the message 2019-10-17 11:24:36 +02:00
9cfcd691fd Export the previously defined data types 2019-10-16 18:47:40 +02:00
c4edae9781 Define a public type for players and keep only the player's hand in private information and public game 2019-10-16 18:44:46 +02:00
65a7c26b5a Player will need to pass the state of the game along with their move since the server won't remember it for them 2019-10-16 18:43:53 +02:00
2f7be7df2b Implement a separate public type for games to cipher a part of its content and sign another 2019-10-16 10:31:30 +02:00
325d9dd610 Release first useable version 0.1.0.0 2019-08-24 23:20:04 +02:00
d52b101bcf Follow renaming (Key -> ID) in hanafuda lib 2019-08-24 14:53:46 +02:00
be593c72d9 Handle FromJSONKey instances properly 2019-08-20 14:20:12 +02:00
3e0f1834d1 Import everything left in the server's Game module 2019-08-19 18:49:05 +02:00
2854434dca Lift restrictions on base package version 2019-08-19 18:48:54 +02:00
2b196c0075 Using the new «public» Game type in Messages, will need to re-import everything that was done in the server's Game module before 2019-08-18 22:13:54 +02:00
607b253f3b Prefix cabal name with «hanafuda» and export more types used in the webapp 2019-08-17 23:10:03 +02:00
79c9488543 Taking Message-related stuff out of webapp's Game and Message modules 2019-08-15 23:36:20 +02:00
Hanafuda
0e0cedda99 Initial commit 2019-08-15 20:53:41 +02:00