moved md files to root

This commit is contained in:
2026-01-08 16:49:01 +01:00
parent 22c7025ac4
commit 24ea2f3c60
7 changed files with 0 additions and 0 deletions

242
MULTIPLAYER_TESTING.md Normal file
View File

@@ -0,0 +1,242 @@
# Multiplayer Testing Guide
## Quick Automated Testing
I've created easy testing scripts for you!
### Windows
**Option 1: Use the Batch Script**
```bash
# Edit TEST_MULTIPLAYER.bat and set your Godot path
# Then just double-click it or run:
TEST_MULTIPLAYER.bat
```
**Option 2: Manual Command**
```bash
# Terminal 1 (Host)
"C:\Program Files\Godot\godot.exe" --path "C:\dev\godot\multiplayer-coop" -- --host
# Terminal 2 (Client 1)
"C:\Program Files\Godot\godot.exe" --path "C:\dev\godot\multiplayer-coop" -- --join
# Terminal 3 (Client 2)
"C:\Program Files\Godot\godot.exe" --path "C:\dev\godot\multiplayer-coop" -- --join
```
### Linux/Mac
**Option 1: Use the Shell Script**
```bash
# Make it executable (already done)
chmod +x TEST_MULTIPLAYER.sh
# Run it
./TEST_MULTIPLAYER.sh
```
**Option 2: Manual Command**
```bash
# Terminal 1 (Host)
godot --path "$(pwd)" -- --host
# Terminal 2 (Client 1)
godot --path "$(pwd)" -- --join
# Terminal 3 (Client 2)
godot --path "$(pwd)" -- --join
```
## Command-Line Arguments
### Basic Arguments
- `--host` - Automatically start as host
- `--join` - Automatically join game
- `--address=IP` - Server address (default: 127.0.0.1)
- `--players=N` - Number of local players (default: 1)
### Examples
**Host with 2 local players:**
```bash
godot --path "path/to/project" -- --host --players=2
```
**Join specific server with 1 player:**
```bash
godot --path "path/to/project" -- --join --address=192.168.1.100
```
**Join with 3 local players:**
```bash
godot --path "path/to/project" -- --join --players=3
```
## Testing Scenarios
### Scenario 1: Simple 1v1
```bash
# Instance 1
godot -- --host
# Instance 2
godot -- --join
```
### Scenario 2: 1 Host + 2 Clients
```bash
# Instance 1
godot -- --host
# Instance 2
godot -- --join
# Instance 3
godot -- --join
```
### Scenario 3: Multiple Local Players
```bash
# Instance 1 (host with 2 local players)
godot -- --host --players=2
# Instance 2 (client with 2 local players)
godot -- --join --players=2
```
### Scenario 4: Maximum Chaos
```bash
# Instance 1 (host with 4 local players)
godot -- --host --players=4
# Instance 2-7 (each with 4 local players)
godot -- --join --players=4
```
Result: 8 machines × 4 local players = 32 total players!
## From Godot Editor
You can also test from the editor:
1. **Run the main instance from editor:**
- Just press F5 normally
- Host or join manually from the menu
2. **Run additional instances:**
```bash
# From terminal, run additional instances
godot --path "C:\dev\godot\multiplayer-coop" -- --join
```
## Troubleshooting
### "Connection Failed"
- Make sure host is running first
- Wait 1-2 seconds after starting host
- Check firewall settings
### "Can't find godot.exe"
- Edit the .bat or .sh script
- Set the correct path to your Godot executable
- On Linux/Mac, make sure `godot` is in your PATH
### "Players not spawning"
- Check the console/Output tab for errors
- Verify NetworkManager is loaded
- Make sure you're using matching project versions
### "Script won't run"
- Windows: Right-click .bat → Run as Administrator
- Linux/Mac: Make sure it's executable (`chmod +x TEST_MULTIPLAYER.sh`)
## What You Should See
### When Testing Works:
1. **Host window** opens, immediately shows game world
2. **Client 1** opens, connects, spawns in game world
3. **Client 2** opens, connects, spawns in game world
4. All players visible to each other
5. All players can move and interact
### Debugging
- Press **ESC** in any instance to see debug overlay
- Shows network status, peer ID, player counts
- Check Output tab in Godot for connection logs
## Performance Testing
### Test Network Sync
1. Start host + 2 clients
2. Move players around
3. Grab objects
4. Throw objects
5. Verify smooth sync (no jittering)
### Test Stress
1. Start multiple instances
2. Add many local players
3. Spawn many objects
4. Test with rapid interactions
5. Monitor FPS (press ESC for debug)
## Batch Testing Tips
### Quick Restart
```bash
# Windows: Create restart.bat
@echo off
taskkill /F /IM godot.exe
timeout /t 1 /nobreak
call TEST_MULTIPLAYER.bat
```
### Different Configurations
```bash
# Test different player counts
godot -- --host --players=1
godot -- --join --players=2
godot -- --join --players=3
godot -- --join --players=4
```
### Network Testing
```bash
# Test over network (replace IP with actual host IP)
godot -- --host # On machine 1
godot -- --join --address=192.168.1.100 # On machine 2
```
## CI/CD Testing
You can integrate these commands into automated testing:
```bash
# Start host in background
godot --path "$PROJECT" -- --host &
HOST_PID=$!
sleep 2
# Start client
godot --path "$PROJECT" -- --join &
CLIENT_PID=$!
# Wait and cleanup
sleep 10
kill $HOST_PID $CLIENT_PID
```
## Summary
✅ **Easiest**: Just run `TEST_MULTIPLAYER.bat` (Windows) or `./TEST_MULTIPLAYER.sh` (Linux/Mac)
**Custom**: Use command-line arguments for specific scenarios
**Flexible**: Combine with editor for debugging
**Fast**: No clicking through menus, instant testing!
Happy testing! 🎮