LeagueCloud Online League Setup Crest
COMMISSIONER & GM WALKTHROUGHSOLO → ONLINE SOLO READYOOTP 24 • 25 • 26 • 27$0 R2 EGRESSMANAGED FTPS :2121

Getting Started: LeagueCloud Online & Online Solo League Setup

Whether you are a Commissioner wiring OOTP's Online League FTP Settings (`ftp_info_dialog`), a General Manager (GM) joining an existing league, or a Solo Player transforming a single-player save into an Online Solo League hosted on LeagueCloud, choose your role tutorial below to step through the interactive setup.

SOLO PLAYERS WELCOMEAny Solo League Can Be Transformed into an Online Solo League & Hosted on LeagueCloud

Per the official OOTP Online League Setup Manual, every OOTP game starts with online mode disabled, and any existing single-player solo save can be converted into an Online Solo League at any point in its history (Year 1 or Season 50) by clicking OOTP Menu → Game Settings → Global Settings → Global Actions → Enable Online League Mode. Hosting your solo save on LeagueCloud unlocks all 14 Sabermetric & BNN Broadcast Hubs, automatic $0 egress Cloudflare R2 cloud backups, immutable per-sim SQLite time-machine snapshots, and Frozen Smart-Embed Dynasty Lore — with the option to invite human GMs later if you ever expand!

Select Interactive Tutorial Perspective (Use Arrow Keys or Click):Official OOTP `ftp_info_dialog` Manual
1
MULTIPLAYER COMMISSIONER WALKTHROUGH • STEP 1 OF 6
Provision Workspace & Choose Solo or Multiplayer Mode
STEP 01 • MULTI-TENANT CONTROL PLANE (~45 SEC)

Provision Your League Workspace & Choose Multiplayer or Online Solo Mode

Whether you are launching a 30-owner multiplayer league or transforming a 1-player solo save into an Online Solo League, LeagueCloud provisions a dedicated /l/continental-bba workspace, virtual FTPS accounts (continental-bba_commish & continental-bba_gm), and a SHA-256 Commissioner Sync API Key.

Select League Hosting Architecture:
STEP 02 • OOTP `FTP_INFO_DIALOG` & SOLO CONVERSION (~90 SEC)

Unlock “Enable Online League Mode” & Configure the OOTP FTP Info Dialog

Per the OOTP Online League Setup Manual (`ftp_info_dialog`), all games are created with online mode disabled by default. Follow the 3-step unlock sequence below to convert any new or existing Solo League into an Online League, then copy-paste the exact dialog fields.

How to Unlock the Online League Tab (Works on Any Existing Solo Save!)Source: OOTP Manual » Setting up an Online League
PREREQUISITE 01
Start or Load Solo Save

Create and start a new game just as you would to play it solo — or load any existing multi-season solo save you want to host on LeagueCloud.

PREREQUISITE 02
Assign Manager Identities

Create manager identities for each of your human General Managers and assign them to their franchises.

PREREQUISITE 03
Enable Online League Mode

Go to OOTP Menu → Game Settings → Global Settings, open the Global Actions dropdown (top-right), and click Enable Online League Mode.

Select Server Transport Pathway:
OOTP `ftp_info_dialog` Section & FieldExact Value / Setting for `/l/continental-bba`Action
1. COMMISH SECURITY
Set Commish Password (Top Button)
Click 'Set Commish Password' first. Commissioner accounts show an asterisk (*) on login. OOTP Developments cannot recover lost passwords.
Strong Commissioner Password (Required)
1. LEAGUE FILE UPLOAD
Host & Port (League Upload)
Commissioner FTP server DNS/port (169.155.60.110:2121, or 127.0.0.1:2121 when using start_ftp_gateway.ps1 locally).
ftp.leaguecloud.io : 2121 (Standard FTP or Explicit FTPS)
1. LEAGUE FILE UPLOAD
Username & Password (Commissioner Account)
Per OOTP Online League Security Recommendations, use your dedicated Commissioner Account (never shared with GMs).
continental-bba_commish
1. LEAGUE FILE UPLOAD
League File Name (NO Extensions!)
CRITICAL OOTP MANUAL RULE: Enter ONLY the short name (e.g. 'continental-bba') — do NOT include .tar.gz or .zip extensions!
continental-bba
1. LEAGUE FILE UPLOAD
Target Path on Server
Relative to the FTP account root directory. Click 'Test league file upload settings' in OOTP to validate.
/leagues/continental-bba/cycles/latest
2. LEAGUE FILE DOWNLOAD
Use FTP to download league file
OOTP Manual: 'If unchecked, league files will be downloaded via HTTP. This is the most secure option available and requires the least configuration.'
UNCHECKED (Use HTTP Download — Recommended)
2. LEAGUE FILE DOWNLOAD
League File Name (Must Match Upload!)
Must match League File Upload Options character-for-character, or GMs will get an archive error when downloading!
continental-bba
2. LEAGUE FILE DOWNLOAD
League File URL (HTTP / $0 Egress R2)
Used when 'Use FTP to download league file' is unchecked. Click 'Test league file download settings' to verify.
https://leaguecloud.io/leagues/continental-bba/cycles/latest/continental-bba.lg.tar.gz
3. REPORT UPLOAD OPTIONS
Report Upload Method
Avoids slow 'Upload files one-by-one' FTP transfers; LeagueCloud unpacks news/html/ and compiles SQLite in <15s.
Upload archive, unpack manually (or /companion .zip)
3. REPORT UPLOAD OPTIONS
Reports URL (`OOTP Menu -> Open League Website`)
Allows you and your GMs to launch your LeagueCloud BNN.COM & 14 Sabermetric Hubs straight from inside the OOTP client!
https://leaguecloud.io/l/continental-bba/hub/front-page
4. TEAM FILE EXPORT (GMs)
Use FTP for team file export
CRITICAL: Both boxes must be checked so human GMs can click 'Export Team via FTP' without typing credentials manually.
CHECKED (✓) + Save FTP account data in league file (✓)
4. TEAM FILE EXPORT (GMs)
Host, Port & Manager Account (`team_XX.ootp`)
Chrooted Manager Account restricted exclusively to uploading team_<id>.ootp files.
continental-bba_gm@ftp.leaguecloud.io:2121
4. TEAM FILE EXPORT (GMs)
Target Path on Server (Team Uploads Dir)
Relative to the Manager FTP root. Validate with 'Test team files upload settings' inside OOTP.
/exports/continental-bba/incoming
5. TEAM FILE IMPORT (COMMISH)
Use FTP for team file import & Source Path
Enables 1-click 'Import all teams from server' on the right-hand Online League Functions panel.
/exports/continental-bba/incoming (continental-bba_commish)
6. EMAIL OPTIONS
Sender Email & Username
Use the Commissioner address as the sender account in OOTP Email Options.
continental-bba_commish@leaguecloud.io
6. EMAIL OPTIONS
SMTP Server & Port
Configure this SMTP endpoint in OOTP Email Options to send league mail.
ftp.leaguecloud.io : 2525
6. EMAIL OPTIONS
SMTP Password
Use the league sync key or a custom password configured for the account.
ootp_sync_continental-bba_9f8a2b4c1d7e
1. CSV Data Dump
Enable `import_export/csv`

Under Database Settings, enable Dump data to CSV files for Online League exports so wRC+, FIP, WAR, and Marcel projections compile.

2. Pitch-by-Play Statcast
Export At-Bat & Batted Balls

Include players_at_bat_batting_stats.csv to power 3D Ballpark Spray Charts, Exit Velocity, and “Would It Dong?” overlays.

3. Online League Security Note
Co-Commissioner Hand-Offs

Per the OOTP Manual, Commissioner FTP upload credentials are never stored in the public league file archive. Co-commissioners must enter the Commissioner FTP settings locally.

STEP 03 • ATOMIC SNAPSHOT & R2 COMPILER (~30 SEC)

Publish Sim Cycle #1 & Master `.lg.tar.gz` Archive

On the right side of OOTP's Online League screen (Online League Functions), click Upload league files & Create/upload reports, or push your update via the Web Sync Companion. LeagueCloud compiles an immutable continental-bba_c1.db (?mode=ro) snapshot and stages your `.lg.tar.gz` on Cloudflare R2 with $0 egress.

Test Presigned Cloudflare R2 Master Archive Initiation
Calls POST /api/v1/leagues/continental-bba/sims/initiate to issue a 30-minute SigV4 PUT URL.
Launch Uploader →
Automated Post-Sim CLI Script
# 1. Package OOTP CSV dumps & BNN HTML reports after advancing the sim
Compress-Archive -Path "./import_export/csv/*", "./news/html/*" -DestinationPath "./sim_export.zip" -Force

# 2. Initiate Sim Cycle & obtain presigned Cloudflare R2 PUT URL for master .lg.tar.gz
$init = Invoke-RestMethod -Method Post \
  -Uri "https://leaguecloud.io/api/v1/leagues/continental-bba/sims/initiate" \
  -Headers @{ "X-League-Sync-Key" = "ootp_sync_continental-bba_9f8a2b4c1d7e" }

# 3. Upload master league file directly to Cloudflare R2 ($0 egress)
Invoke-RestMethod -Method Put -Uri $init.presignedMasterUploadUrl -InFile "./continental-bba.lg.tar.gz"

# 4. Stream CSV + BNN .zip to compile immutable continental-bba_cN.db & reset 30-team export grid
curl.exe -X POST "https://leaguecloud.io/api/v1/leagues/continental-bba/sims/upload?wait=true" \
  -H "X-League-Sync-Key: ootp_sync_continental-bba_9f8a2b4c1d7e" \
  -F "file=@sim_export.zip"
STEP 04 • SIGNALR LEAGUEOPSHUB & IN-GAME IMPORT (~30 SEC)

Verify the 30-Team GM Export Grid & “Import All Teams from Server”

When any GM clicks Export Team via FTP inside OOTP, the chrooted FTPS gateway verifies team_<id>.ootp, computes its SHA-256 digest, and broadcasts ExportReceived over SignalR in under 1 second. Before running your next sim in OOTP, simply click Import all teams from server on the right-hand Online League Functions panel (or Import all teams from import_export folder for manual files).

Simulate Live FTPS `team_1.ootp` Receipt & SignalR Push
Test end-to-end verification and inspect the live 30-team grid.
Open GM Export Grid →
STEP 05 • TOKENIZED RBAC & RECRUITING (~60 SEC)

Onboard Front Office GMs & Open Recruiting Seats

Bind each human GM to their exact OOTP team_id using 1-click /invite/[token] claim links, share the General Manager Tutorial tab on this page, or publish vacant franchises to /recruiting with verified SQLite payroll and farm rank metrics.

Manage All GMs →
STEP 06 • 14 ANALYTICAL HUBS & SMART-EMBEDS (~30 SEC)

Launch Your 14 Broadcast Hubs & Publish Frozen Smart-Embed Lore

Your Online League is ready for Opening Day! Because you set Reports URL to https://leaguecloud.io/l/continental-bba/hub/front-page in Step 2, clicking OOTP Menu → Open League Website inside the game opens your live LeagueCloud Broadcast Hub. Every post in your League Lore Stream freezes live SQLite cards to the exact sim cycle so historical recaps never suffer screenshot rot.

@player[1001]
Savant Player Dossier

xwOBA percentiles, WAR & 20-80 scouting bars.

#team[1]
Franchise Club Card

W-L record, Pythagorean diff, payroll & wRC+.

/spray[player=1001,year=2026]
3D Ballpark Spray Chart

Polar Statcast BBE vectors & wall dimensions.

/boxscore[game=5001]
Linescore & Replay

R/H/E box score + 1-click pitch-by-pitch replay.

Final Walkthrough Step Reached