Once you have generated and downloaded your .lsdl file, place it in your OOTP saved game folder (specifically in the schedules folder if you want to use it across multiple saves). In OOTP, navigate to Game > Game Settings > League Settings > Edit League Schedule. Click the Actions drop-down on the right side of the screen and select Import from file, then choose the file you just downloaded.
The generator checks both the game-count math and the resulting calendar. A configuration may have no valid option when the selected league structure and supported game total cannot be divided across divisional, subleague, and interleague opponents, or when the schedule would require prohibited league-wide off-days. Try a different supported game total, league structure, or Interleague/Balanced setting. You can also enable League Wide Off Days if additional league-wide breaks are acceptable.
By default, the generator tries to avoid ordinary days when every team is off, except for the All-Star break. Set this option to Allow when needed when your league format cannot fit the requested games without one or more additional league-wide off-days. Team-level rest and schedule-balance rules still apply.
The Type column describes the opponent game totals in a breakdown option:
The label is a breakdown classification; always review the generated preview before importing the file into OOTP.
First enable Schedule All-Star Game. If you leave the "ASG Target Day" blank, the generator estimates a midseason target from the generated calendar. You can enter a specific day number to choose a different target. If you select a weekday, the generator moves the target to the nearest matching weekday, within the normal calendar adjustment, and reserves the configured days off before and after the break.
Select a valid breakdown, then choose Preview Schedule Only. The app generates the schedule and the browser displays an evaluation table plus a day-by-day schedule grid. This lets you check home and away totals, team matchups, and calendar pacing before downloading the .lsdl file.
When both an ASG Target Day and a preferred weekday are specified, the weekday setting adjusts the target to the nearest matching weekday. The Days Off Before and Days Off After fields control the length of the surrounding break. The final day may differ from the target you entered because the schedule must still fit the generated calendar.
Yes. The local engine is ootp_schedule_generator.py. It requires Python 3 plus the packages in requirements.txt (networkx and ortools). From the generator directory, install those dependencies and run the script with your desired options; add --non-interactive to automatically select the first valid breakdown. The script writes the .lsdl file and an HTML report into an assets folder.
If you run into an error or have an idea for a new feature, please shoot an email to info@ootpschedules.com.