Commit graph

67 commits

Author SHA1 Message Date
70d92c2d5e Add TLS to gRPC 2020-07-26 23:10:39 +01:00
a321e5d72f Add gRPC reflection to the server 2020-07-26 22:48:48 +01:00
fdfcc88540 Move the account registration into the world 2020-07-24 22:50:35 +01:00
6f2d67bd7c Tag rovers by the controlling account 2020-07-24 22:22:32 +01:00
e840b3e47b Move accountant into world 2020-07-24 20:06:06 +01:00
f7192b3997 Organise the status response into sub-sections 2020-07-23 00:32:19 +01:00
2bc2477128 Remove the incoming command streams, de-scopes and simplifies 2020-07-23 00:13:28 +01:00
c89c5f6e74 Implement current wind direction and rover wind movement 2020-07-22 23:36:13 +01:00
c94ac68f44 Remove all json tags, simply not needed 2020-07-22 19:55:38 +01:00
6b5d5abea1 Rename the world tick function and set the tick rate back to default 2020-07-22 19:24:36 +01:00
8667f55143 Simplify by making command streams pointer lists like in proto 2020-07-21 23:52:14 +01:00
f78efd1223 Add SailPosition to the rover and implement toggle command
This also converts the commands to use the proto type for simplicity
2020-07-21 23:44:06 +01:00
6c75f07aff Remove move and recharge commands in favor of toggle command for the sails 2020-07-21 22:57:43 +01:00
737534f739 Move roveapi into the proto dir 2020-07-10 19:01:41 +01:00
46f81abbd7 Move accounts into rove-server.internal 2020-07-10 18:57:57 +01:00
b534ac0516 Rename generated rove package to roveapi and the game package to rove 2020-07-10 18:09:51 +01:00
b451ea519d Make sure the accounts are saved as well 2020-07-10 17:21:59 +01:00
dc2800fa54 Move Accountant behind an interface 2020-07-10 17:09:47 +01:00
96a137ad2f Simplify - remove duplicate command types in favor of a better defined Command type in proto 2020-07-10 00:12:54 +01:00
b032fdbfe2 Fix missing broadcast message in status reply 2020-07-09 22:52:58 +01:00
30ca488890 Use string for the timestamp, proto uses this under the hood anyway
https://github.com/grpc-ecosystem/grpc-gateway/issues/438
2020-07-09 19:38:23 +01:00
b748846c55 Use a unix timestamp rather than a timestamppb 2020-07-09 19:29:04 +01:00
55c85d2a22 Add logs to the rover status output 2020-07-09 19:01:09 +01:00
d9e97ea468 Add some additional logging to requests and world resizes 2020-07-07 22:47:34 +01:00
92222127a6 Add basic account security
This adds a secret token associated with each account

	The token must then be sent with follow-up requests to ensure they get accepted

	This is _very_ basic security, and without TLS is completely vulnerable to MITM attacks, as well as brute force guessing (though it'd take a while to guess the a correct UUID)
2020-07-07 22:20:23 +01:00
3ba7652c74 Add current tick information to the server-status 2020-07-07 18:40:38 +01:00
5928dfdb20 Rename the tick variable 2020-07-07 18:24:16 +01:00
75910efbe5 Apply all golangci-lint fixes 2020-07-06 18:04:10 +01:00
233a6b3281 Add incoming and queued commands to status output 2020-07-05 13:16:08 +01:00
ea4b7de4ac Rename "commands" to "command" 2020-07-05 12:55:01 +01:00
28639b4cac Fix up a comment and the help text 2020-07-04 23:11:22 +01:00
894359142b Rename "rover" to "status" 2020-07-04 23:11:12 +01:00
f8e594cb39 Rename "status" command to "server-status" 2020-07-04 23:05:08 +01:00
143fba505e Add Charge and Max Charge attributes to the rover 2020-07-04 12:26:42 +01:00
b066277ddf Add MaximumIntegrity to the rover 2020-07-04 12:26:42 +01:00
2eaed1447d Add rover inventory capacity and test 2020-07-04 12:26:42 +01:00
062f9cfec8 Split Atlas chunks into tiles and objects 2020-07-03 17:00:04 +01:00
b5707ab71c Fix all go vet issues 2020-07-01 00:01:20 +01:00
abcebcebb6 Simplify - remove rove-accountant
This was a fun little gRPC experiment but it's simply not needed
2020-06-30 23:34:49 +01:00
06cf44f129 Increase the chunk size to 1kb per chunk 2020-06-28 11:02:56 +01:00
b116cdf291 Convert Atlas to infinite lazy growth
The atlas will now expand as needed for any query, but only initialise the chunk tile memory when requested

	While this may still be a pre-mature optimisation, it does simplify some code and ensures that our memory footprint stays small, for the most part
2020-06-27 14:48:21 +01:00
7957454ec1 Add rover integrity
Rovers are damaged by bumping into solid objects
2020-06-27 01:18:18 +01:00
1ed1c60de0 Simplify - remove RoverAttributes and rover UUIDs 2020-06-27 00:32:27 +01:00
e6a25a5310 Add the rover inventory to the "rover" response 2020-06-26 23:44:52 +01:00
d08a15e201 De-scope - Remove unused rover capacity 2020-06-26 23:39:07 +01:00
2f6465987d More de-scope - remove duration on move command
This isn't even needed, as commands can just be queued up
2020-06-26 22:26:27 +01:00
db3c2c2c2e De-scope, remove rover speed 2020-06-26 18:48:07 +01:00
7ee340e976 Move Rover position into main class 2020-06-26 18:22:37 +01:00
dd76e61e44 Make the ports have default values 2020-06-23 00:05:26 +01:00
187a0a6165 Finish HTTP tests and adjust APIs to allow them to pass 2020-06-13 13:18:22 +01:00