Skip to main content

Room Server CLI Reference

The MeshCore room server is managed primarily through its command-line interface (CLI). This reference covers the essential management commands for maintaining a production room server.

Connecting to the Room Server CLI

The room server CLI is accessible via the serial console when the LoRa radio is connected to a host computer via USB, or via SSH if the host system is a Raspberry Pi or Linux server.

# SSH to Pi-based room server
ssh pi@192.168.1.100

# Serial console (direct LoRa board)
screen /dev/ttyUSB0 115200

Status and Diagnostics

# Show overall server status
status

# Show connected clients
clients

# Show stored message count and oldest/newest timestamps
messages

# Show federation connections (other room servers)
federation

# Show network statistics: packets received, forwarded, dropped
stats

# Show known repeaters and their last-seen times
repeaters

Message Management

# Show current message buffer size (number of stored messages)
messages count

# Set maximum message buffer size
set max_messages 500

# Clear all stored messages (use with caution)
messages clear

# Show messages from the last N minutes
messages recent 60

Client and Access Control

# List all clients that have connected to this room server
clients list

# Show last connection time for each client
clients status

# Block a specific client node ID from connecting
clients block <node_id>

# Remove a block
clients unblock <node_id>

Federation Management

# Show current federation peers
federation list

# Add a federation peer (another room server)
federation add <server_address> <port>

# Remove a federation peer
federation remove <server_address>

# Test connectivity to a federation peer
federation ping <server_address>

System Management

# Show uptime and system info
sysinfo

# Restart the room server process (not the host system)
restart

# Show current channel configuration
channel show

# Update channel key (requires all connected clients to update)
channel set_key <new_key_hex>

# Show version info
version

Log Monitoring

On a Pi-based room server, logs are managed by systemd:

# View room server logs (live)
journalctl -u meshcore-roomserver -f

# View last 100 lines
journalctl -u meshcore-roomserver -n 100

# View logs from the last hour
journalctl -u meshcore-roomserver --since "1 hour ago"