update holiday
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# Nakama Local Development Setup Checklist
|
||||
|
||||
## Prerequisites
|
||||
- [ ] Docker Desktop installed (Windows/Mac)
|
||||
- [ ] Docker Desktop running
|
||||
- [ ] SSH client available (for localhost.run tunneling)
|
||||
|
||||
## Setup Steps
|
||||
|
||||
### 1. Create docker-compose.yaml
|
||||
- [ ] Create `server/docker-compose.yaml` in project root
|
||||
- [ ] Configure Nakama service (port 7350)
|
||||
- [ ] Configure PostgreSQL service (port 5432)
|
||||
- [ ] Set up persistent volumes for PostgreSQL data
|
||||
|
||||
### 2. Start Nakama Locally
|
||||
- [ ] Open terminal in `server/` directory
|
||||
- [ ] Run `docker-compose up -d`
|
||||
- [ ] Verify Nakama console at http://localhost:7351
|
||||
- [ ] Test API endpoint at http://localhost:7350
|
||||
|
||||
### 3. Tunnel for Remote Testing
|
||||
- [ ] Run: `ssh -R 80:localhost:7350 nokey@localhost.run`
|
||||
- [ ] Copy the generated public URL (e.g., `https://xxxxx.lhr.life`)
|
||||
- [ ] Update `nakama_manager.gd` with tunnel URL for testing
|
||||
|
||||
### 4. Configure Godot Client
|
||||
- [ ] Update `NAKAMA_HOST` in `nakama_manager.gd`
|
||||
- [ ] For local: `localhost`, port `7350`, scheme `http`
|
||||
- [ ] For tunnel: use tunnel hostname, port `443`, scheme `https`
|
||||
|
||||
### 5. PostgreSQL Learning Notes
|
||||
- [ ] Database: `nakama` (created by Nakama on startup)
|
||||
- [ ] Access via: `docker exec -it nakama-postgres psql -U postgres -d nakama`
|
||||
- [ ] Key tables: `users`, `user_edge`, `storage`, `leaderboard`, `wallet_ledger`
|
||||
|
||||
## Quick Commands
|
||||
|
||||
```bash
|
||||
# Start services
|
||||
docker-compose up -d
|
||||
|
||||
# Stop services
|
||||
docker-compose down
|
||||
|
||||
# View logs
|
||||
docker-compose logs -f nakama
|
||||
|
||||
# Access PostgreSQL
|
||||
docker exec -it nakama-postgres psql -U postgres -d nakama
|
||||
|
||||
# Tunnel port 7350
|
||||
ssh -R 80:localhost:7350 nokey@localhost.run
|
||||
```
|
||||
@@ -0,0 +1,41 @@
|
||||
[ ADT's Report ]
|
||||
|
||||
Updated the `tekton-enet` ( Armageddon Multiplayer ) on branch `launcher`
|
||||
|
||||
**Network Animation Synchronization**
|
||||
|
||||
✅ **Animation RPC Functions** - Added `sync_walk_animation()`, `sync_pickup_animation()`, `sync_put_animation()`, and `sync_special_animation()` RPC functions to `player.gd` for network-synced animations.
|
||||
|
||||
✅ **Manager Updates** - Updated `player_movement_manager.gd`, `playerboard_manager.gd`, and `powerup_manager.gd` to call RPC animation sync functions instead of local-only animation methods. Now all players see each other's walking, grab, put, and power-up animations.
|
||||
|
||||
**Username Synchronization**
|
||||
|
||||
✅ **Display Name Variable** - Added `display_name` variable to `player.gd` that stores the player's actual username from their profile.
|
||||
|
||||
✅ **Lobby Name Sync** - Updated `lobby_manager.gd` to send the client's username and character to the host when requesting room info via `request_room_info()`. Host now correctly displays client usernames instead of "Player 12345".
|
||||
|
||||
✅ **Auto-Use Profile Name** - Updated `lobby.gd` to hide the name input field for logged-in users and automatically use `UserProfileManager.get_display_name()`. Only guest users see and can edit the name input.
|
||||
|
||||
✅ **In-Game Name Display** - Updated `player.gd` `_ready()` to look up display name from `LobbyManager.get_players()` and sync via `sync_display_name()` RPC. Player name labels and message bar now show actual usernames.
|
||||
|
||||
**Leaderboard Name Fix**
|
||||
|
||||
✅ **Display Name Usage** - Updated `main.gd` to use `player.display_name` instead of `player.name` (peer ID) in 6 locations: `_on_leaderboard_updated()`, `_show_game_over_panel()`, `request_leaderboard_sync()`, `sync_leaderboard_data()`, and `_update_leaderboard_display()`.
|
||||
|
||||
**Player Rotation Sync**
|
||||
|
||||
✅ **Rotation RPC** - Updated `player_movement_manager.gd` to call `rpc("sync_rotation", target_rotation)` when player rotates toward a target. Other clients now see correct facing direction.
|
||||
|
||||
✅ **Smooth Interpolation** - Updated `sync_rotation()` RPC in `player.gd` to also set `movement_manager.target_rotation` for smooth rotation interpolation on remote clients.
|
||||
|
||||
---
|
||||
|
||||
**Nakama Local Development Checklist** (Next Steps)
|
||||
|
||||
⬜ **Docker Compose Setup** - Create `server/docker-compose.yaml` with Nakama + PostgreSQL services for local development on Docker Desktop (Windows/Mac).
|
||||
|
||||
⬜ **Run Locally** - Start Nakama on localhost:7350 via `docker-compose up -d`.
|
||||
|
||||
⬜ **Tunnel with localhost.run** - Use `ssh -R 80:localhost:7350 nokey@localhost.run` to expose port 7350 for remote device testing.
|
||||
|
||||
⬜ **PostgreSQL Learning** - Study the Nakama PostgreSQL schema and flow for managing user data, storage, and leaderboards. Goal: Make the online dedicated server more flexible with PostgreSQL.
|
||||
Reference in New Issue
Block a user