Commit graph

35 commits

Author SHA1 Message Date
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
5f358fa9fd Fix the integration test and the default port for the compose 2020-05-30 22:53:12 +01:00
522e8205b3 Use the rove package ServerStatus type 2020-05-30 22:47:04 +01:00
a6d86c2581 Add an integration test 2020-05-30 22:47:04 +01:00
b76fd1003c Add empty integration tests file 2020-05-30 22:47:04 +01:00
4a293eb912 Add a command line flag to set the port and default to 8080 2020-05-30 22:47:04 +01:00
73a1e1fd21 Housekeeping
Move docs and commands out into their own files
2020-05-30 22:46:53 +01:00