Commit graph

56 commits

Author SHA1 Message Date
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
2556c0d049 Call rand.Seed to end current determinism 2020-06-27 02:08:52 +01:00
6ba6584ae1 Default to a much faster tick rate for now 2020-06-27 02:03:12 +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
a4a04a15fb Remove empty proto i/o structs in favor of placeholders 2020-06-13 11:57:27 +01:00
914eef05c0 Use standard PORT for host port 2020-06-13 11:41:24 +01:00
98249948a1 Fix up host ports and env variables 2020-06-13 11:17:52 +01:00
84163ce9e1 Fix logging for rove-server 2020-06-13 10:44:03 +01:00
856771dac7 Rename the RoveServer proto to Rove 2020-06-13 10:43:35 +01:00
ccb34d4452 Make env variables required 2020-06-13 10:42:59 +01:00
8c6230ca20 Implement a reverse proxy using grpc-gateway 2020-06-13 00:23:21 +01:00
7ababb79f6 Migrate to gRPC rather than REST with swagger
Will also be adding in a RESTful endpoint to the server as well so it can consume both types
2020-06-12 22:51:18 +01:00
6cfc9444f3 Simplify the APIs to return http status codes 2020-06-12 19:05:26 +01:00
47921e6c41 Move game server to port 8080 and host docs on 80 2020-06-12 17:54:47 +01:00
faaa556ad0 Move the Atlas code into it's own package 2020-06-11 20:42:59 +01:00
2f5863b17a Use log instead of fmt for logging
Also fix up a few errors to lower case
2020-06-11 19:04:53 +01:00
14424c16ca Refactor testing into docker file
This means a decent scale refactor but ends with our testing being much simpler

	Key changes:
		* single Dockerfile for all services
		* tests moved into docker up so don't need to be run locally
		* configurations moved to environment
2020-06-11 18:16:11 +01:00
99da6c5d67 Move accountant to it's own deployment using gRCP 2020-06-11 13:24:42 +01:00
8f25f55658 Refactor accounts to store a data map rather than just a rover ID 2020-06-10 22:48:45 +01:00
7749854eb7 Remove account IDs in favor of just account names
These were a "security" feature but pre-emptive and just add complications when we can implement secrets later
2020-06-10 18:57:43 +01:00
b3b369f608 Remove /spawn POST endpoint
This was increasing complexity for no added benefit

	/register now performs the spawn in 4 lines of code
2020-06-10 18:48:56 +01:00
6fb7ee598d Move server package out into rove-server 2020-06-10 18:20:05 +01:00
aae668fb57 Fix instabilities caused by random rocks 2020-06-09 00:16:49 +01:00
8586bdabd7 Fix duplicate saving on quit
Slight refactor to split server stop and close functions
	Quit function explicitly sends SIGTERM
	SIGTERM doesn't trigger an os.Exit

	Bonus: Properly save the world on spawning the rover
2020-06-07 18:06:34 +01:00
50cc8b5dbf Minor cleanups 2020-06-06 18:44:24 +01:00
dc957f7fc1 Up the server rick to every 5 minutes 2020-06-06 18:23:27 +01:00
e804cdf12b Install wamerican for /usr/share/dict/words 2020-06-06 17:16:33 +01:00
c6fbf1341a Allow the server tick to be customised 2020-06-06 16:01:49 +01:00
e3ce87e964 Simplify duplicate command types 2020-06-06 12:45:45 +01:00
97d3583384 Update rove-server main with tests 2020-06-06 12:13:54 +01:00
1d2087e2b9 Fix test instabilities by refactoring to make address dynamic and readable 2020-06-06 11:52:12 +01:00
bc366583a4 Move server tests to the server command 2020-06-06 10:57:37 +01:00
5a2d35aca8 Reorganise a little to move the server into it's own directory 2020-06-05 17:15:25 +01:00
179dd3f984 Implement saving and loading for account data, currently a basic json file 2020-05-31 19:15:57 +01:00
93decc027b Refactor into server object to handle registered accounts 2020-05-31 11:18:26 +01:00
eccb726f74 Add the concept of a player and the /register endpoint 2020-05-31 00:08:50 +01:00
8a17fcf59f Be a good citizen and set the header in the reply 2020-05-30 23:25:40 +01:00
b462ceb104 Add logging to the status request 2020-05-30 23:18:05 +01:00
5d250edb6b Update comments 2020-05-30 23:17:59 +01:00