Files
DungeonsOfKharadum/INSTALL_MATCHBOX.md

143 lines
2.5 KiB
Markdown

# Installing Matchbox Signaling Server
## Step 1: Install Rust (if not already installed)
```bash
# Install Rust using rustup (recommended)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Follow the prompts, then restart your shell or run:
source "$HOME/.cargo/env"
# Verify installation
cargo --version
```
## Step 2: Install Matchbox Server
```bash
# Install matchbox_server
cargo install matchbox_server
# This will take a few minutes to compile
```
## Step 3: Run Matchbox Server
```bash
# Run on default port (3536)
matchbox_server
# Or specify a port
matchbox_server --port 3536
# Run in background with nohup
nohup matchbox_server --port 3536 > matchbox.log 2>&1 &
# Or with systemd (recommended for production)
# See systemd service example below
```
## Step 4: Configure Godot to Use Matchbox
Update `network_manager.gd` to connect to your matchbox server.
## Alternative: Use Pre-built Binary
If you don't want to install Rust, download a pre-built binary:
```bash
# Download latest release
wget https://github.com/johanhelsing/matchbox/releases/download/v0.9.0/matchbox_server-x86_64-unknown-linux-gnu.tar.gz
# Extract
tar -xzf matchbox_server-x86_64-unknown-linux-gnu.tar.gz
# Make executable
chmod +x matchbox_server
# Run it
./matchbox_server --port 3536
```
## Systemd Service (Production)
Create `/etc/systemd/system/matchbox.service`:
```ini
[Unit]
Description=Matchbox WebRTC Signaling Server
After=network.target
[Service]
Type=simple
User=oldcan
WorkingDirectory=/home/oldcan
ExecStart=/home/oldcan/.cargo/bin/matchbox_server --port 3536
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
```
Then:
```bash
# Reload systemd
sudo systemctl daemon-reload
# Start service
sudo systemctl start matchbox
# Enable on boot
sudo systemctl enable matchbox
# Check status
sudo systemctl status matchbox
# View logs
sudo journalctl -u matchbox -f
```
## Testing
Once running, test the connection:
```bash
# Check if it's listening
netstat -tulpn | grep 3536
# Or
ss -tulpn | grep 3536
```
Your matchbox server will be available at:
- `ws://ruinborn.thefirstboss.com:3536`
## Firewall Configuration
Make sure port 3536 is open:
```bash
# UFW
sudo ufw allow 3536/tcp
# Or iptables
sudo iptables -A INPUT -p tcp --dport 3536 -j ACCEPT
```
## Quick Start Commands
```bash
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
# Install Matchbox
cargo install matchbox_server
# Run Matchbox
matchbox_server --port 3536
```