Commit Graph

37 Commits

Author SHA1 Message Date
Tissevert e2019e2d3b Implement a partial ordering on game coordinates to allow implementing re-synchronization easily 2020-01-25 11:13:56 +01:00
Tissevert 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
Tissevert 4c404df4d6 Generalize GameState into a concept of game Coordinates, moving the «month» property into it 2020-01-18 09:34:10 +01:00
Tissevert 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
Tissevert 413d6cfc84 Merge branch 'main' into stateless-game 2020-01-04 12:09:06 +01:00
Tissevert bac3cc5006 Rename the project «hanafuda-protocol» 2020-01-04 12:06:49 +01:00
Tissevert 1dd31d7091 Make reading IDs safe and provide useful debug messages 2019-12-27 17:55:42 +01:00
Tissevert c6352a9669 Add GameIDs to PublicGame 2019-12-27 17:55:14 +01:00
Tissevert b62dc4ff28 LogOut becomes a server message (clients just shut the connection now) 2019-12-24 00:36:17 +01:00
Tissevert d32e61f927 LogIn is back, but now it's a Server message 2019-12-08 22:57:57 +01:00
Tissevert 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
Tissevert f968c41d9d Follow latest changes in Hanafuda.ID 2019-11-12 22:18:52 +01:00
Tissevert 57370d62ee Throw a couple of Show instance to ease debugging following the e0003c commit in lib 2019-11-12 22:18:33 +01:00
Tissevert 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
Tissevert 9c5c80fb3a Still working on the protocol : remove useless PlayerStatus type 2019-10-28 08:18:48 +01:00
Tissevert 816ecbc331 Start removing deprecated data from protocol messages 2019-10-23 17:46:33 +02:00
Tissevert 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
Tissevert 8538b8f5ea Store the player turns in the public state of games 2019-10-22 17:43:33 +02:00
Tissevert e10afdfac1 Rename fields for lighter syntax 2019-10-17 19:49:50 +02:00
Tissevert 189e29b08c Add a field to store the number of turns played in a round 2019-10-17 19:24:51 +02:00
Tissevert 818c343e89 Use Base64 to correctly handle binary ByteStrings 2019-10-17 18:53:11 +02:00
Tissevert 0c2974b055 Add needed JSON instances for PrivateState 2019-10-17 12:13:15 +02:00
Tissevert 5cccd05290 Use new handier type synonyms from lib 2019-10-17 12:12:51 +02:00
Tissevert e11a899745 Apparently a nonce will be needed but can be transmitted unciphered along with the message 2019-10-17 11:24:36 +02:00
Tissevert 9cfcd691fd Export the previously defined data types 2019-10-16 18:47:40 +02:00
Tissevert 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
Tissevert 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
Tissevert 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
Tissevert 325d9dd610 Release first useable version 0.1.0.0 2019-08-24 23:20:04 +02:00
Tissevert d52b101bcf Follow renaming (Key -> ID) in hanafuda lib 2019-08-24 14:53:46 +02:00
Tissevert be593c72d9 Handle FromJSONKey instances properly 2019-08-20 14:20:12 +02:00
Tissevert 3e0f1834d1 Import everything left in the server's Game module 2019-08-19 18:49:05 +02:00
Tissevert 2854434dca Lift restrictions on base package version 2019-08-19 18:48:54 +02:00
Tissevert 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
Tissevert 607b253f3b Prefix cabal name with «hanafuda» and export more types used in the webapp 2019-08-17 23:10:03 +02:00
Tissevert 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