⚠️ The latest release is unstable — use preview builds instead
Skip to content

Console & Chat Commands

JunimoServer provides multiple command interfaces for server management.

Command Interfaces

InterfaceAccessBest For
CLI Consoledocker compose exec server attach-cliServer commands, viewing logs
SMAPI ConsoleVia VNC or CLISMAPI and game commands
Chat CommandsIn-game chat (!command)Player/admin management

CLI Console

Connecting to CLI

Attach to the interactive server console:

sh
# Using make
make cli

# Or using docker compose
docker compose exec server attach-cli

The CLI provides a split-pane tmux interface:

  • Top pane — Server logs (read-only, scrollable with mouse)
  • Bottom pane — Interactive command input

CLI Commands

CommandDescription
cli exitDetach from the CLI session
cli quitDetach from the CLI session
cli detachDetach from the CLI session
cli clearClear the input pane
Any other inputSent directly to SMAPI console

Server Console Commands

These commands run in the SMAPI console (via CLI or VNC).

info

Display server status information:

info

Shows: farm name, version, uptime, in-game date, player count, invite code, rendering state.

settings

Manage server configuration:

CommandDescription
settings showShow current server-settings.json configuration
settings validateRun configuration and state validation checks
settings newgamePreview what a new game would create
settings newgame --confirmClear active save; new game created on restart

cabins

Manage player cabins:

CommandDescription
cabinsList all cabins with position, owner, strategy info
cabins addCreate a new cabin (hidden or visible per strategy)

saves

Manage save files:

CommandDescription
savesList available saves (marks currently active)
saves info <name>Show save details (farm type, cabins, players)
saves select <name>Preview importing a save
saves select <name> --confirmSet save as active (loaded on restart)

rendering

Control visual rendering for performance:

CommandDescription
rendering onEnable rendering
rendering offDisable rendering
rendering toggleToggle rendering state
rendering statusShow current state

invitecode

Display the current server invite code:

invitecode

host-auto

Toggle automatic host behavior (auto-sleep, event skipping, etc.):

host-auto

host-visibility

Toggle whether the host player is visible to other players:

host-visibility

Chat Commands

Players and admins use chat commands in-game. Type in the chat box (press T or /).

General Commands (All Players)

CommandDescription
!helpShow available commands
!infoShow server info (farm, version, uptime, players, ping)
!invitecodeShow current invite code
!cabinMove your cabin to your current position

Password Protection Commands

CommandDescription
!login <password>Authenticate to leave lobby and play

Admin Commands

These require admin role:

CommandDescription
!admin <player>Grant admin role to a player
!unadmin <player>Revoke admin role
!kick <player>Kick a player
!ban <player>Ban a player
!unban <player>Remove a ban
!listadminsList all admins
!listbansList all bans
!changewalletToggle shared/separate wallets
!eventStart current festival event (if stuck)

Lobby Management (Admin)

For password-protected servers:

CommandDescription
!authstatusShow authentication status of all players
!lobby helpShow all lobby commands
!lobby listList saved lobby layouts
!lobby set <name>Set active lobby layout

See Password Protection for full lobby customization.

Owner Commands

These require server owner (first player/host):

CommandDescription
!joja IRREVERSIBLY_ENABLE_JOJA_RUNPermanently enable Joja route

Irreversible

The Joja command permanently disables the Community Center. Use with caution.

Quick Reference

Starting and Stopping

sh
docker compose up -d      # Start
docker compose down       # Stop
docker compose restart    # Restart
docker compose ps         # Status

Viewing Logs

sh
docker compose logs -f           # All logs
docker compose logs -f server    # Server only
docker compose logs -f steam-auth # Steam auth only

Getting Server Info

sh
# Via CLI
docker compose exec server attach-cli
# Then type: info

# Or via one-liner (requires jq for parsing)
curl -s http://localhost:8080/status | jq

Released under the MIT License.