Commit Graph

131 Commits

Author SHA256 Message Date
69bbafa60a Fixed issue where deleted characters would never go inactive 2025-06-24 14:04:20 -04:00
87b233d366 Updated Common Item data proto 2025-06-10 14:24:56 -04:00
6f18b53913 Updated world service to become a manager of game logic instances for each map. 2025-06-08 16:04:50 -04:00
9088c04bc8 More debug messages
Fixed typo
2025-06-07 03:04:37 -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
aa2be43f4e Refactor
Updated handlers by spliting the TcpStream in half to allow reading and writing data at the same time.
This fixes an issue where you are unable to get chat messages until the client sends a packet to the server

Fixed client id's by adding the id manager
Added shout chat handling
2025-06-07 00:36:02 -04:00
d4dadf5170 Merge pull request 'documentation, unit-tests, chat service' (#12) from documentation-and-unit-tests into main
Reviewed-on: #12
2025-06-06 17:54:09 -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
85d41c0239 Fixed Readme Flow Typo 2025-04-09 13:39:43 -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
d47d5f44b1 - add: Not hardcoded object tag for the user when switching to the in game map 2025-03-21 23:24:32 -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
b9ebdd7080 - updated: logging setup to allow extra crates to be passed in for logging 2025-03-20 22:50:59 -04:00
6a2711bdc1 - update: charts to be able to set the service account. 2025-03-20 22:49:42 -04:00
0cfacd8935 - update: charts to make more sense in what the settings do 2025-03-20 17:30:21 -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
03cef8e526 - update: network type for both api and packet service to be LoadBalancer instead of being the defaul ClusterIP 2025-03-18 12:46:37 -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
8e39c42046 - fix: unable to find a kubernetes service 2025-03-18 11:56:56 -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
e28219c8b7 - update: auto generate the database url using the saved secret 2025-03-18 00:11:08 -04:00
eebf5c58e0 - add: helm chart
- add: python script for building and pushing the containers
2025-03-17 23:59:33 -04:00
6a8ea2521a - add: logout route to api service 2025-03-17 21:52:12 -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
cbd71d1ab1 - add: logout route to api service 2025-03-12 22:16:57 -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
d583ca1228 - update: default skills are set by the character service, not the database service 2025-03-09 18:39:19 -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
0dc69bcfcf - add: metrics exporting 2025-03-09 17:06:58 -04:00
c4d3da1f94 - fix: formatting for packet routing 2025-03-09 17:04:13 -04:00
90e4346f6d - add: rustfmt max_width set 2025-03-09 17:03:12 -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
c0e8dba715 - update: imports
- add: cache and cache data for docker-compose.yml
2025-03-04 14:01:22 -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
b5e16f0bef - add: mouse cmd packet handling
- add: change map handler
- update: logout handler to send the reply packet
- update: character id list change from u8 to u32
2025-01-28 22:48:11 -05:00
09c10efb46 - update: equipped item list to use the constant instead of a "magic" number 2025-01-28 17:31:44 -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