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
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