-
-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Welcome, pilot! This guide will help you get Terminal Velocity up and running and teach you the basics of gameplay.
The easiest way to get started is with Docker:
# Clone repository
git clone https://github.com/JoshuaAFerguson/terminal-velocity.git
cd terminal-velocity
# Configure environment
cp .env.example .env
# Edit .env and set DB_PASSWORD
# Start the stack
docker compose up -d
# Connect to game
ssh -p 2222 username@localhost-
Go 1.24+ - Install Go (see
go.modfor the exact required version) - PostgreSQL 14+ - Required for persistent state; the game needs a database to run
- Git - For cloning the repository
-
Make - For using Makefile commands (optional, you can
go builddirectly)
On Ubuntu/Debian:
wget https://go.dev/dl/go1.23.0.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrcOn macOS (with Homebrew):
brew install goVerify installation:
go versiongit clone https://github.com/JoshuaAFerguson/terminal-velocity.git
cd terminal-velocitygo mod downloadFor full features, set up PostgreSQL:
# Install PostgreSQL
sudo apt update && sudo apt install postgresql postgresql-contrib
# Create database
sudo -u postgres psql
CREATE DATABASE terminal_velocity;
CREATE USER terminal_velocity WITH PASSWORD 'your_secure_password';
GRANT ALL PRIVILEGES ON DATABASE terminal_velocity TO terminal_velocity;
\q
# Initialize schema
psql -U postgres -d terminal_velocity -f scripts/schema.sqlcp configs/config.example.yaml configs/config.yaml
# Edit configs/config.yaml with your settingsKey configuration options:
server:
port: 2222 # SSH port
max_players: 100 # Max concurrent players
game:
starting_credits: 10000 # Starting money
num_systems: 100 # Universe size
enable_pvp: true # Enable player combat
database:
host: "localhost"
port: 5432
user: "terminal_velocity"
database: "terminal_velocity"
# Leave `password` unset and supply DB_PASSWORD via env for better hygiene.Env vars DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, DB_SSLMODE
are honored as fallbacks for any field you leave out of the YAML.
# Using Make
make run
# Or directly
go run cmd/server/main.goThe server will start on port 2222.
Connect to any Terminal Velocity server using SSH:
ssh -p 2222 any-user@server-addressThe SSH-layer username is not used for authentication — the server accepts
any SSH identity and prompts for your game username and password inside the
TUI's login screen. Using your real game username in the ssh command is a
nice convention but not required.
Examples:
# Local server
ssh -p 2222 tester@localhost
# Remote server
ssh -p 2222 tester@game.example.comWhen connecting for the first time:
- The login screen appears
- Tab to Create New Account to register (available when the server's
AllowRegistrationis enabled) - Or type your username, Tab, type your password, Tab to Login, Enter
When you first connect, you'll go through the registration process:
- Welcome Screen: Shows game information and options
- Username: Choose a unique username (3-20 characters)
- Password: Set a secure password (minimum 8 characters)
- Email (optional): For account recovery
- Starting System: Choose your starting location
Tips for registration:
- Choose a memorable username (you can't change it later)
- Use a strong password
- Starting system doesn't matter much - you can travel anywhere
After registration, you'll be guided through an interactive tutorial covering:
- Basic Navigation - Moving around the UI
- Trading Fundamentals - Your first trade
- Ship Management - Understanding your ship
- Combat Basics - How to fight
- Mission System - Accepting missions
- Multiplayer Features - Chat and social
- Advanced Features - Settings, quests, events
You can skip the tutorial anytime, but we recommend completing it for the best experience.
Terminal Velocity uses keyboard navigation:
| Key | Action |
|---|---|
| Arrow Keys | Navigate menus |
| Enter | Select/Confirm |
| Esc | Go back/Cancel |
| Tab | Switch between sections |
| ? | Help (context-sensitive) |
| q | Quit current screen |
After logging in, you'll see the main menu with these options:
- Navigation - Travel between star systems
- Market - Buy and sell commodities
- Shipyard - Purchase and upgrade ships
- Outfitter - Install weapons and equipment
- Missions - Accept and track missions
- Quests - View active quests and storylines
- Events - Participate in server-wide events
- Chat - Multiplayer communication
- Faction - Player faction management
- Stats - View your statistics and achievements
- Settings - Configure preferences
- Help - In-game help system
- Logout - Exit the game
While playing:
-
/help- Show help -
/chat [message]- Send global chat -
/whisper [player] [message]- Private message -
/status- Show your status -
/location- Show your current location
Take a moment to explore the main menu. Press Enter on different options to see what they do. Don't worry - you can always go back with Esc.
Select Ship Info from the main menu to see your starting ship:
Your Starting Ship:
- Type: Shuttle
- Value: 25,000 credits
- Cargo Space: 20 units
- Hull: 100 HP
- Shields: 50 HP
- Fuel: 100 units
Starting Credits: 10,000 credits
This is enough to start trading!
Let's make some money! See our detailed Trading Guide for strategies, but here's a quick start:
- Go to Market - Select "Market" from main menu
- Check Prices - Look for cheap commodities (Food, Water, Textiles)
- Buy Cargo - Purchase what you can afford (leave room for profit!)
- Navigate to Another System - Select "Navigation" from main menu
- Jump to High-Tech System - Look for tech level 6+ systems
- Sell Cargo - Go to Market and sell for profit!
Example First Trade:
- Buy 20 units of Food at 50 cr/unit = 1,000 cr
- Travel to high-tech system (500 cr fuel cost)
- Sell Food at 100 cr/unit = 2,000 cr
- Profit: 500 cr (50% ROI)
After a few successful trades:
- Save up 50,000 credits
- Visit the Shipyard
- Upgrade to a Courier (40 cargo space)
- Trade-in your Shuttle for 70% value discount
- Now you can haul more cargo = more profit!
When you're ready for action:
- Accept a combat mission from the Mission Board
- Navigate to the target system
- Engage the enemy
- Use turn-based tactical combat
- Collect loot and bounties!
See the Combat Guide for detailed tactics.
Terminal Velocity is multiplayer! Connect with other players:
- Open Chat menu
- Say hello in global chat
- Join or create a Faction
- Participate in Dynamic Events
- Trade with other players
- Compete on Leaderboards
Now that you're set up, explore these guides:
- Gameplay Guide - Core mechanics and systems
- Trading Guide - Master the economy
- Combat Guide - Tactical combat strategies
- Ship Guide - Ship types and progression
- Quests & Missions - Story content
- Multiplayer Guide - Factions, PvP, trading
- Server Administration - Run your own server
- Commands Reference - All commands
- Keyboard Shortcuts - UI navigation
- FAQ - Common questions
- Troubleshooting - Problem solving
- Start small: Don't invest all your credits in one trade
- Tech level matters: High-tech systems pay more for low-tech goods
- Leave fuel money: Always keep 500-1000 cr for fuel
- Diversify: Don't rely on one commodity
- Start easy: Accept Easy difficulty missions first
- Upgrade weapons: Visit Outfitter before major combat
- Use tactics: Position matters in turn-based combat
- Retreat option: You can always run away if outmatched
- Follow quests: Main quests teach mechanics and give rewards
- Join events: Dynamic events give bonus rewards
- Join a faction: Multiplayer factions provide support
- Track achievements: Achievements give direction and rewards
- Be friendly: The community is helpful
- Ask questions: Use global chat for help
- Join a faction: Team play is more fun
- Trade fairly: Build a good reputation
- Check port: Server runs on port 2222 by default
- Check firewall: Ensure port 2222 is open
- Check server status: Is the server running?
- Auto-save: Game auto-saves every 30 seconds
- Reconnect: Just reconnect - your progress is saved
- Report bugs: Use GitHub Issues
-
Terminal size: The TUI adapts to the connected terminal via SSH
pty-req/window-changeevents. 80×24 is the hard minimum; 120×40 or bigger is recommended — several screens were designed for wider layouts and will truncate long rows at 80 cols. The UI also re-renders live when you resize your terminal mid-session. - SSH quality: Poor connection may cause lag
- Server load: High player count may slow server
For more help, see Troubleshooting or ask in the community!
- Press
?for context-sensitive help - Select Help from main menu
- Use tutorial system (can be restarted anytime)
- Global Chat: Ask other players
- GitHub Discussions: https://github.com/JoshuaAFerguson/terminal-velocity/discussions
- GitHub Issues: For bugs and problems
- FAQ - Common questions
- Gameplay Guide - Detailed mechanics
- Commands Reference - All commands
Welcome aboard, Commander! The galaxy awaits! 🚀
Next: Gameplay Guide - Learn the core mechanics
- Gameplay Guide
- Trading Guide
- Combat Guide
- Ship Guide
- Quests & Missions
- Multiplayer Guide
- Events Guide
Version: 0.7.0 Status: Feature Complete