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
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
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
cf9efc9866
- update: auth system to work with the website auth
2025-03-16 01:35:44 -04:00
cdf7bb3f15
- update: tell consul to use docker dns to resolve CNAME addresses
...
- add: load balancer for consul services
- update: dns lookup to now return the service address
- update: docker consul to the latest version
2025-03-12 15:39:45 -04:00
81068759e5
- update: docker compose to add custom networks
...
- add: get service endpoints by using consul dns
2025-03-10 06:09:26 -04:00
ae04d2bf5b
- add: gRPC health check for gRPC services
2025-03-10 03:56:47 -04:00
14c6aa485a
- add: redis cache refresh function sets the ttl for a key
...
- update: session service refresh session function now just updates the ttl of the session instead of calling set
2025-03-09 17:08:56 -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
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
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
8c108ceeeb
- fix: issue where you could login if you had a valid token but an invalid session
2025-01-08 12:37:17 -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
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
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
9d9e2bef05
- add: session_id to the validate token response
...
- add: session_id to the jwt generated token
2024-12-20 17:46:54 -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
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
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
38ea2ddb71
- add: handle channel list request
...
- add: handle server select request
- add: handle character list request stub
- add: start health check function for consul
2024-12-13 04:40:07 -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
a7af7f1b9e
- update: service discovery now supports retrieving multiple service nodes
2024-12-10 13:51:30 -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
815cb210dc
- fix: warnings about unused variables
...
- add: LOG_LEVEL env variable
2024-11-26 13:15:33 -05:00
e494860e9a
- remove: unused dependency consul as we use reqwest for interactions
2024-11-26 10:30:39 -05:00
a3638a2983
- add: signal handler to deregister from consul
2024-11-26 10:28:30 -05:00
969a85d899
- remove: unused variable
2024-11-26 02:02:02 -05:00
8499655fe9
- remove: unused imports
2024-11-26 02:01:27 -05:00
ab7728837c
- add: service discovery protocol using consul
2024-11-26 01:59:01 -05:00
113ab5a4ac
- add: roles to user
...
- add: register calls for auth server
- add: user lookup by email
- add: start of password reset
- add: Cache trait to allow redis cache mocking
2024-11-26 01:58:26 -05:00
3fc6c6252c
- update: database client to implement a database trait so we can mock it out
...
- update unit tests
- add: database client mock
2024-11-25 22:20:15 -05:00
3ff22c9a5b
- add: initial database and auth services
2024-11-25 20:45:16 -05:00