Commit Graph

57 Commits

Author SHA256 Message Date
a20a44fd29 Added SaveCharacter and UpdateSession function stubs
Updated proto message type names to better match usage
Fixed compile errors due to type name changes
2025-07-22 00:18:30 -04:00
d906cd8d64 Tons of fixes
Added movement updates
Updated how entities are checked
Events sending between packet service all the way to the logic service
2025-07-02 15:37:10 -04:00
69bbafa60a Fixed issue where deleted characters would never go inactive 2025-06-24 14:04:20 -04:00
ddc84f1027 Fixed issue with deleting characters throwing an error for incorrect typing 2025-06-07 00:44:46 -04:00
6107950bd9 Fixed issue with deleting characters throwing an error 2025-06-07 00:36:32 -04:00
ad6ba2c8e6 More work.
Added chat service
Updated packet service to pass the tcp stream around in a Arc type.
Updated character position data to not require multiplying the coords
Added more debug logs
Added an interceptor for gRPC comms with the chat server
Updated build and push script for the chat server changes
2025-06-06 17:52:29 -04:00
a8755bd3de Add comprehensive documentation and unit tests
Documentation:
- Add detailed README files for all services (auth, character, database, launcher, packet, utils, world)
- Create API documentation for the database service with detailed endpoint specifications
- Document database schema and relationships
- Add service architecture overviews and configuration instructions

Unit Tests:
- Implement comprehensive test suite for database repositories (user, character, session)
- Add gRPC service tests for database interactions
- Create tests for packet service components (bufferpool, connection, packets)
- Add utility service tests (health check, logging, load balancer, redis cache, service discovery)
- Implement auth service user tests
- Add character service tests

Code Structure:
- Reorganize test files into a more consistent structure
- Create a dedicated tests crate for integration testing
- Add test helpers and mock implementations for easier testing
2025-04-09 13:29:53 -04:00
9e984d2aa8 - add: Refresh Session call to actually refresh the cache session. 2025-03-21 23:23:38 -04:00
4046f56191 - removed: api-service
- removed: session-service
- updated: moved health check out of consul registration
- updated: get service info to pull the service from the default namespace for the service account
- updated: the rest of the services to be able to handle the new database tables
2025-03-20 22:53:49 -04:00
98b8d412e7 - update: logging system to only show logs from the app and not any 3rd party dependencies 2025-03-19 02:13:02 -04:00
3c6d74405f - removed: unused imports
- removed: unused volume and mounts
2025-03-18 11:58:26 -04:00
89a1e93dc3 - update: service port env variable to just be named service_port 2025-03-18 11:57:51 -04:00
f4bc414ebd - update: code update to use kube api instead of consul 2025-03-18 02:00:11 -04:00
4734b7560a Merge branch 'consul_services_update' into helm 2025-03-18 00:12:25 -04:00
f353a73658 - update: characters cache key lifetime 2025-03-17 21:51:09 -04:00
cf9efc9866 - update: auth system to work with the website auth 2025-03-16 01:35:44 -04:00
ae04d2bf5b - add: gRPC health check for gRPC services 2025-03-10 03:56:47 -04:00
d583ca1228 - update: default skills are set by the character service, not the database service 2025-03-09 18:39:19 -04:00
dfd98e96d2 - add: money is now sent with the character data sent to the client 2025-03-09 13:53:26 -04:00
8ba8fce20b - update: schema now sets the skills column to prevent a crash
- update: frontend to only pass the session id
- update: launcher to pass the session correctly
- update: validate session response now returns the session id and user id to the requester
- update: auth client based on session id instead of a jwt token
2025-03-08 13:47:53 -05:00
b6f2d3f456 - chore: ran cargo fix on the codebase 2025-03-07 21:03:15 -05:00
3b789d0fd4 - fix: Dockerfile build errors for newer rust version 2025-03-07 20:01:17 -05:00
4f28e92685 - update: proto files and code referencing them to make it more clear what service they are 2025-02-27 22:42:54 -05:00
a9a6c52b00 - update: proto files to move common stuff into common proto files
- update: made changes for new proto paths
- add: skills to character table
- add: load and send skills to client from db
- add: chat proto
2025-02-27 22:11:17 -05:00
292a298205 - update: grab version info to register from the cargo package
- update: docker volume to persist the registered service IDs
- update: consul service id function to store the service id in the services folder
2025-01-29 14:25:53 -05:00
c85c769646 - remove: unused dependencies from database service 2025-01-28 17:31:01 -05:00
743743ceb6 - update: docker base containers to use alpine. This drops the final containers from ~100mb to ~17mb 2025-01-28 17:30:28 -05:00
6d35d15ac3 - add: ability to refresh the current session
- add: delete type to delete character request
- add: ability to update key in redis
- add: handle alive packet to refresh the session
- fix: delete now actually returns the time remaining correctly
- fix: character list now has the correct time until character deletion
2025-01-08 02:03:27 -05:00
db868cc1ac - add: Character service now loads the data from the database and sends it in the character list packet
- add: character id list to the connection state for tracking the real character database id's for when the client requests actions on the character
- fix: sql error when trying to create a character
2025-01-07 22:16:47 -05:00
cb6ee657f0 - add: Character service can now actually create a character correctly in the database
- add: character db client to allow the character service to talk to the database service
- update: character.proto to make character data shared
2025-01-07 13:41:07 -05:00
c6c502fd8a - remove: duplicated data entries in the character db schema 2025-01-07 13:38:48 -05:00
9f63a5fd3a - update: moved signal handler into utils crate to make it easier to update
- fix: windows compile issue due to exposed unix signal
2025-01-05 22:49:55 -05:00
7417d2d6dd - update: grpc character db api now includes getting the character list 2025-01-05 17:09:28 -05:00
00468e9600 - update: generate_service_id function call now takes in the service name so the id file isn't always called utils_service_id.txt 2024-12-27 19:04:54 -05:00
754522b080 - update: Dockerfile layer reordering to speed up build times and lower image space needed
- add: .dockerignore file to reduce file transfers and remove unneeded files in image
2024-12-21 13:10:37 -05:00
e3fb186a44 - fix: when shutting down a docker container, the services would not deregister from consul correctly 2024-12-20 17:42:50 -05:00
18afa71d74 - add: logout grpc function
- add: logout packet handler
- add: connection state and service for storing connection data
- add: session service calls to auth-service
- fix: compile error on database service due to moved redis cache
2024-12-20 14:46:00 -05:00
3c1f8c40d6 - add: session-service
- move: redis_cache from database service to utils so it can be reused
- update: redis_cache set function to allow creating a key without a lifetime
- update: services to use the new get_or_generate_service_id function
2024-12-20 14:43:25 -05:00
9e530c2d55 - fix: issue compiling due to sqlx::query! throwing error on windows 2024-12-18 12:44:28 -05:00
c67cdd5b2a - fix: issue where login failed to return the user if their role was null
- add: register route for api-service
- update: spawn a thread for the rest api in the api service
2024-12-17 04:06:56 -05:00
52455d6ffc - update: major refactor of the database-service to make it easy to add newer api services
- add: character database api
2024-12-17 01:58:18 -05:00
267422adb4 - add: database schema
- add: ability to delete keys from RedisCache
- update: docker compose to init the database with the schema
2024-12-17 01:54:46 -05:00
7194eb88fa - fix: docker libssl in slim image
- fix: api service default rest api address and port was incorrect
- update: database service to use dedicated function for running the health check api
2024-12-14 05:54:32 -05:00
c17d498b93 - fix: docker containers would fail to load libssl3
- add: missing character service docker file
2024-12-14 05:31:33 -05:00
e179b3b995 - add: Dockerfile for building docker containers 2024-12-14 04:13:34 -05:00
697231965b - update: default listen address is now set to 0.0.0.0 2024-12-14 04:13:02 -05:00
4c7a363814 - update: services now bind to the LISTEN address env instead of the service address (allows the ability to listen on 0.0.0.0 while the service address could be the external address) 2024-12-14 01:53:47 -05:00
9121b7f88b - add: consul tags and metadata
- update: login reply now requests for the character services from consul to build the server list
2024-12-10 15:46:13 -05:00
13d4b45859 - add: uuid to generate service id for consul
- update: each service now generates a service id for registering with consul
2024-12-10 13:31:35 -05:00
e5c961d1b4 - add: utils library
- add: packet-service to handle game client packets
- fix: health check for database-service
- fix: health check for auth-service
2024-12-09 23:10:26 -05:00