Solo Teams


Solo Teams is a Factorio 2.0 multiplayer mod where every player gets their own independent force - your own tech tree, your own factory, your own pace - all on the same shared map. Players start in cease-fire so you can't damage each other's builds, but you can opt into friendship to cooperate. A Landing Pen lets everyone wait together before spawning, with an optional buddy system to start on the same planet. Built-in GUI panels let you compare research progress, production stats, and player lo

Scenarios
a day ago
2.0
184
Character Environment

Changelog

Version: 0.2.17
Date: 2026-04-08
  Features:
    - Players in the Landing Pen are now assigned the spectator permission group, preventing building or griefing in the pen area
  Changes:
    - Update README: remove Space Block references, add Platformer and VoidBlock links, remove installation section, fix command references
    - Update info.json description
Version: 0.2.16
Date: 2026-04-08
  Features:
    - Spectate now focuses on the target player's live position (or their saved position if they are away spectating someone else), instead of always starting at surface origin
    - Returning from spectate restores the player to their exact pre-spectate surface and position, with collision avoidance to prevent getting stuck in structures built by bots
    - Character remains vulnerable (destructible) while spectating, preventing players from using spectate mode to escape enemy attacks
  Changes:
    - Rename gui/platforms.lua to gui/surfaces.lua (internal variable: surfaces_gui)
  Bugfixes:
    - Players in the Landing Pen can no longer see or use the "request friend" option for spawned players
Version: 0.2.15
Date: 2026-04-07
  Changes:
    - Extract shared compat utilities (planet_display_name, process_pending_teleports, setup_player_surface) into compat_utils.lua to reduce duplication between vanilla and VoidBlock modules
  Bugfixes:
    - Fix spectator mode not exiting when spawning from the Landing Pen
Version: 0.2.14
Date: 2026-04-06
  Features:
    - VoidBlock mod compatibility: each player gets their own Nauvis with void-island terrain
    - Pre-generate chunks around spawn so players never see default terrain flash
  Changes:
    - Stats GUI: active category and time period buttons use green_button style for visibility
Version: 0.2.13
Date: 2026-04-06
  Features:
    - "Allow Friendship" admin flag: disabling dissolves all friendships and hides checkboxes
    - Per-player "show offline" toggle in Players panel (hidden by default)
    - Players in the Landing Pen are excluded from Research and Stats GUIs
  Changes:
    - Codebase reorganized into gui/, compat/ folders with shared helpers.lua
    - All module variables renamed from M/H to descriptive names
    - Extracted force_utils.lua, surface_utils.lua, gui/friendship.lua,
      gui/research_diff.lua, gui/landing_pen_terrain.lua for smaller files
    - Vanilla surface naming changed from "st-<index>-<planet>" to "<force>-<planet>"
    - Spectator exit always teleports player home (prevents god-mode stranding)
    - Stats GUI refreshes on player spawn (not just connect/disconnect)
    - Widened Players panel and Stats name column to prevent layout shifts
  Bugfixes:
    - Fix spectator bounce failing in Platformer god mode (force lookup used
      spectator force instead of effective force)
    - Fix landing pen player colors: use chat_color consistently instead of
      hardcoded yellow for self and grey for spawned players
Version: 0.2.12
Date: 2026-04-05
  Features:
    - Spectator system: view other players' surfaces via a dedicated spectator force
    - Spectate button (magnifying glass) on each player's platform/surface row
    - Friend-view: friends bypass spectator force and get direct remote view
    - Mutual friendship: both sides must agree to activate, either side can break
    - Friendship request states: request friend (blue), pending (yellow), friends (green)
    - Chat prefix shows "[on X's base][spectator]" or "[on X's base][friend]" context
    - Admin flag: "Spectate Notifications" to toggle spectation announcements
    - Admin flag changes now broadcast to all players
    - Crafting queue freezes while spectating, resumes on exit
    - "Stop spectating" button shows "(crafting paused)" when crafting queue is active
    - Surface visibility: other players' surfaces hidden from map sidebar unless friends
  Changes:
    - GPS ping buttons replaced with spectate buttons in Players GUI
    - Friendship is now mutual (requires both sides) instead of one-directional
    - Friend/unfriend downgrade: losing friendship while viewing switches to spectator mode
    - Spectator force hidden from all player-facing GUIs (Players, Research, Stats)
    - Players GUI uses effective force for all comparisons (correct during spectation)
    - Vanilla surface naming changed from "st-<index>-<planet>" to "<force>-<planet>"
  Bugfixes:
    - Fix player color showing as white when spectating (now uses game.get_player lookup)
Version: 0.2.11
Date: 2026-04-04
  Features:
    - Announce friend/unfriend actions to all players with mutual status indicator
  Bugfixes:
    - Fix players being stranded on foreign surfaces after exiting GPS remote view
    - Fix landing-pen players being moved to foreign surfaces via GPS tag clicks
Version: 0.2.9
Date: 2026-04-03
  Features:
    - Landing Pen visual overhaul: lab-dark-2 island, water moat, grass ring, ground text
    - Add "Buddy Join" admin feature flag (off by default) to gate buddy request system
    - New branding: "Solo by design. Legendary by choice."
  Changes:
    - Replace quality sync polling (every 30 ticks) with event-driven sync on research finished
    - Landing Pen chunks now handled via on_chunk_generated (no more grass outside the void)
  Bugfixes:
    - Fix nav bar buttons not working after server restart / save transfer
    - Fix welcome screen crash when on_player_created and on_player_joined_game both fire
Version: 0.2.8
Date: 2026-04-02
  Features:
    - Research GUI: collapsible player rows (1 row default, expand to see all)
    - Research GUI: "You both have researched" section in diff view
    - Research GUI: click any tech icon to open it in the tech tree
    - Research GUI: Escape navigates back from diff to overview before closing
    - Welcome window: added close button and About tab selected by default
    - Welcome window: Discord tab uses full logo image
    - Admin panel now visible to all admins, not just the host
    - Add GitHub Actions workflow to package mod zip on version tags
  Changes:
    - Remove all periodic GUI polling; all updates are now purely event-driven
    - Platforms and admin frames use clear() instead of destroy+recreate (fixes drag jitter)
    - Nav bar buttons doubled in size (56x56)
    - Landing Pen window positioned below top bar, above Players panel
    - Research play time now shows elapsed since spawn, not absolute game time
    - Remove em-dashes from About page and README
  Bugfixes:
    - Fix Players panel reappearing after closing (5-second poll was recreating it)
    - Fix admin and Players windows feeling jittery while dragging
Version: 0.2.7
Date: 2026-04-01
  Features:
    - Add Landing Pen: new players wait in a shared pre-game lobby before spawning
    - Add buddy system: pen players can request to join an active player's force
    - Add vanilla surface support: each player gets their own nauvis surface
    - Add admin panel with runtime feature flags (Landing Pen toggle)
    - Add per-player clock tracking (time since spawn)
    - Add research comparison panel with tech icon grid and 1-on-1 diff view
    - Show Platforms GUI to players in the Landing Pen
  Changes:
    - Rename Platforms GUI to Players GUI
    - Include vanilla surfaces in the player list as "<name>'s base on <Planet>"
    - Disabling Landing Pen mid-session immediately spawns all waiting players
  Bugfixes:
    - Fix landing pen surface shape: out-of-map tiles outside the circle
    - Fix spawn button double-fire and duplicate platform creation
    - Fix cutscene skip: exit_cutscene() before teleport
    - Fix solo force being reset by scenario after cutscene
    - Fix teleport retry: keep pending entry until teleport succeeds
Version: 0.2.6
Date: 2026-03-31
  Bugfixes:
    - Fix Stats button width in Platforms title bar
Version: 0.2.5
Date: 2026-03-31
  Features:
    - Add per-player production stats GUI with five categories (Ores, Plates, Intermediates, Science, Custom)
    - Categories built dynamically from game prototypes; works with overhaul mods
    - 12 choose-elem-button columns per category; players can swap any item
    - Time range selector: 1m / 10m / 1h / 10h / All time
    - Per-player column overrides persisted across sessions
  Changes:
    - Online/offline status updates instantly via events (no tick delay)
Version: 0.2.4
Date: 2026-03-30
  Features:
    - Add Platformer mod compatibility: per-player space platform creation and deferred teleport
    - Add "Return to my base" button when visiting a foreign surface
  Changes:
    - Hide the default "player" force from the platforms GUI
    - Declare optional dependency on Platformer for correct load ordering
Version: 0.2.3
Date: 2026-03-29
  Changes:
    - Remove GPS ping button from player name rows; GPS buttons now only appear on platform rows
Version: 0.2.2
Date: 2026-03-29
  Changes:
    - Remove all hub collision detection hacks (use /unstuck instead)
Version: 0.2.1
Date: 2026-03-29
  Bugfixes:
    - Fix hub collision fix and /unstuck to use physical_surface/position
    - Fix remote view (GPS clicks) incorrectly triggering the collision fix
Version: 0.2.0
Date: 2026-03-29
  Changes:
    - Remove automatic hub collision repositioning (caused issues with GPS pings)
    - Document /unstuck command as the manual alternative
Version: 0.1.1
Date: 2026-03-28
  Changes:
    - Add thumbnail image for mod portal
    - Add homepage URL to info.json
Version: 0.1.0
Date: 2026-03-28
  Features:
    - Separate forces: each player gets their own force with independent research
    - Quality unlocks and space platform access copied from default force
    - Neutral diplomacy: players start in cease-fire with all others
    - Per-player friend toggle via the Platforms GUI
    - Cross-force chat: normal messages broadcast to all forces
    - Draggable, collapsible Platforms GUI with live GPS locations
    - /platforms command with colored names and clickable GPS pings
    - /unstuck command to eject from vehicles and teleport to safety