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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
|
All returns are whitespace-delimited.
Error returns start with the string "ERROR:"
=== Call:
server.php?action=get_player_id
Returns:
playerID
Where:
playerID = string
Note: Used to prevent joining game with self.
=== Call:
server.php?action=create_for_friend&player_id=[id string]
Returns:
gameID
gamePasscode
playerNumber
playerBlockTransform
Where:
gameID = string
gamePasscode = string
playerNumber = 1 or 2
playerBlockTransform = comma-delimited list of indices 0..15
Note: must check is_partner_ready before playing.
=== Call:
server.php?action=join_with_friend&player_id=[id string]&game_id=[id string]
Returns:
gameID
gamePasscode
playerNumber
playerBlockTransform
Where:
gameID = string
gamePasscode = string
playerNumber = 1 or 2
playerBlockTransform = comma-delimited list of indices 0..15
Note: no need to check is_partner_ready before playing.
=== Call:
server.php?action=join_with_stranger&player_id=[id string]
Returns:
gameID
gamePasscode
playerNumber
playerBlockTransform
Where:
gameID = string
gamePasscode = string
playerNumber = 1 or 2
playerBlockTransform = comma-delimited list of indices 0..15
Note: must check is_partner_ready before playing.
Must keep checking for available partner every 5 seconds until a partner is
provided. If an unmatched gameID goes unchecked for more than 20 seconds,
it is assumed abandoned and discarded from the server.
=== General note:
player_id is not used by any of the following calls. The purpose of player_id
is to ensure that players do not join games with themselves accidentally.
=== Call:
server.php?action=is_partner_ready&game_id=[id string]&game_passcode=[passcode string]&player_number=[1 or 2]
Returns:
readyFlag
Where:
readyFlag = 0 or 1
Note:
player_number in the call is *our* player number, not partner number.
=== Call:
server.php?action=report_alive&game_id=[id string]&game_passcode=[passcode string]&player_number=[1 or 2]
Returns:
successFlag
Where:
successFlag = 1
Note: post_move and get_changed_columns also updates alive status. Thus,
report_alive should only be called during periods of inactivity, at least once
every 5 minutes during such periods.
=== Call (params probably in POST body):
server.php?action=post_move&game_id=[id string]&game_passcode=[passcode string]&player_number=[1 or 2]&num_dirty_columns=[number]&dirty_column_0=[column string]&dirty_column_1=[column string]& ... &dirty_column_N=[column string]
Returns:
successFlag
Where:
successFlag = 1
Note:
Each column string starts with its column index number, followed by a "_",
followed by a "_"-delimited list of block color signatures. Blocks are listed
starting with the block in row 0
=== Call:
server.php?action=get_changed_columns&game_id=[id string]&game_passcode=[passcode string]&player_number=[1 or 2]&last_state_seen=[number]
Returns:
secondsSincePartnerActed
stateNumber
numChangedColumns
column0
column1
...
columnN
Where:
secondsSincePartnerActed = integer >= 0
stateNumber = integer >= 0
numChangedColumns = integer >=0
columnX = column string (see below)
Notes:
-- last_state_seen indicates the last state fetched by the client from the
server.
-- secondsSincePartnerActed can be used to detect a zombie partner.
-- Each column string starts with its column index number, followed by a "_",
followed by a "_"-delimited list of block color signatures. Blocks are listed
starting with the block in row 0
|