Creating your own leagues
Your first league file
How a league file is built, a complete small example, the mistakes to avoid and what the #@cs lines mean.
Where league files are
A football world is a folder (or a ZIP file) with a Data folder inside. These parts matter for leagues:
| Folder or file | Contents |
|---|---|
Data/League/Footlandia.txt | A league file: one country, its leagues and its cups. The file name without .txt appears in the league selection of a new career. |
Data/Team/Igloo Inter.txt | One file per club and per national team: name, reputation, kits, squad and home area. |
Data/Names/ | Lists of first names and surnames for generated players. |
Data/Package.ini | Optional: the name of the world and ready-made league selections. |
Your own worlds are stored in Documents/My Games/Championship Soccer/DataSets/. Usually one league file describes one country. The file International teams and tournaments.txt is special: it adds countries without leagues, their national teams, clubs for international cups and the international tournaments. Players can switch it off when they create a career.
The game reads the files when a career startsLeague files are read only when a new career or Quick Game is created. The career then keeps its own copy of everything, including the rules and the name lists. Changing a file never changes an existing career, and a saved career keeps working on another computer without your files.
Optional: ready-made league selections
A world can offer up to three buttons in the league selection of a new career. Add them to Data/Package.ini:
[LeaguePreset:Recommended]
Footlandia=3
International=offOn the left is the name of a league file, on the right the deepest level to load. 0 or off leaves the file out. Unknown files are skipped, and a number larger than the file's deepest level loads all of its levels. The names Many, Recommended and Few are translated into the player's language; other names are shown as you write them. The international file is included unless you switch it off.
How a league file is built
The game reads a league file from top to bottom. The first character of each line tells it what the line is:
| The line starts with | Meaning | Example |
|---|---|---|
! | A line about the country. | ! Country "Footlandia" |
: | A new league begins. The rest of the line is its name. | : Footlandia - Premier League |
+ | A setting of the league or cup above it. | + division 1 |
* | A new cup begins. The rest of the line is its name. | * Footlandia Cup |
#@cs | An extra setting. See What #@cs means. | #@cs league-rounds 4 |
# or ; | A note for yourself. The game ignores it. | ; checked in May |
| anything else | A club. It joins the league above it. | Igloo Inter |
A league file is therefore a series of blocks: first the country, then each league with its settings and clubs, then the cups. A league ends where the next league, cup or country begins.
The words of settings, such as division or promotions, may be written in capital or small letters. Names of clubs, leagues, cups and countries must always be written in exactly the same way. Only spaces at the beginning or end of a name are ignored.
Most lines that start with ! describe the country. Three of them belong to the league or cup above them instead: ! intro, ! goal and ! metar set music and weather (see Music, weather and sounds).
A complete small example
Step 1: write the league file
Create the file Data/League/Footlandia.txt in your world. It defines the country, two leagues with six clubs each and the movement between them:
! Country "Footlandia"
! Names "Data/Names/Footlandia_1st.txt" "Data/Names/Footlandia_2nd.txt"
: Footlandia - Premier League
+ division 1
+ promotions 0
+ relegations 2
+ reputation 12
Icicle Town FC
Sunburn United
Snowdrift Rovers
Flip-Flop Rovers
Polar Bear United
Sandcastle City
: Footlandia - League 2
+ division 2
+ promotions 2
+ relegations 0
+ reputation 8
Igloo Inter
Coconut Athletic
Mitten City
Siesta Sporting
Reindeer Rangers
Lobster Red FCStep 2: add a file for each club
Each club gets its own file in Data/Team, named exactly like the club line. Only the name is required; everything else is optional:
! Name "Igloo Inter"
! Reputation 8
! 1 shirt White
! 1 shorts Blue1If a club has no file, the game still creates it, with generated players and random kits.
Step 3: add name lists
Put one first name per line into Data/Names/Footlandia_1st.txt and one surname per line into Data/Names/Footlandia_2nd.txt. Long lists keep the names of generated players varied.
Step 4: start a new career
Create a new career and select Footlandia with two levels. Every season the last two clubs of the Premier League swap places with the best two clubs of League 2. A Footlandia national team is created automatically; an optional club file Data/Team/Footlandia.txt describes it.
Mistakes to avoid
None of these mistakes crashes the game, but each one silently changes your world. All of them were tried out in the game.
- Start every line at the very left. An indented line is read as a club name. The line
+ promotions 2with two spaces in front created a club called “+ promotions 2”. Because the promotions were lost as well, the league above stopped relegating. - Write notes on a line of their own. A note behind a club name becomes part of the name. The line
Alpha FC ; our best clubcreated a club with exactly that long name. - Use whole numbers made of digits only. The game puts all digits of a number together and even counts the letters a to f as digits.
+ promotions 2.5means 25 promoted clubs,+ division 1ameans level 20. Only the reputation may have one decimal place, such as 12.5. - Write one instruction per line.
- Do not put quotes around a league or cup name in its own line. In
: "Footlandia - Premier League"the quotes become part of the name. Quotes are needed when you refer to a league elsewhere, for example in a cup:+ add 4 from "Footlandia - Premier League". - List every club only once in the whole world. A second listing, even in another league, is ignored and reported. The club stays in the league where it was listed first.
- Give every league of a country its own name. A second league with the same name is ignored together with all of its clubs. Names that include the country, such as “Footlandia - League 2”, stay clear in cup rules and when two countries both have a “Premier League”.
- Keep the order inside a league: the name line first, then the settings, then the clubs. Put
+ divisiondirectly below the name, because the game decides there whether the league is loaded at all. - Keep the club line, the club file name and the club's ! Name identical. A different ! Name renames the club, and cup rules or reserve links that use the old name no longer find it.
- Save new files as UTF-8 text with the ending
.txt. Older files may use other Windows encodings. Keep the encoding of an existing file, or convert a copy to UTF-8 on purpose. - Never put clubs into a cup block. A club line below a
*cup line is added to the league above the cup. - Start every league file with its country line. Leagues and clubs before the first
! Countryline belong to no country.
What #@cs means
A line that starts with # is a note, and that has been true in every version of Championship Soccer. Newer settings are therefore written as a special note that starts with #@cs, short for “Championship Soccer”:
#@cs league-rounds 4The current game reads this line as a setting: every pair of clubs meets four times per season. Older versions, including the original Championship Soccer 2004-05, only see a note and skip it. The league then plays the usual two rounds. This way new settings never break older versions.
Do I still need to write #@cs?
For most settings, no. The current game also understands them without the prefix: league-rounds 4 does the same as #@cs league-rounds 4. Write each setting only once.
Two settings are exceptions and only work with the prefix:
#@cs allocation-centre-place "Namur"
#@cs allocation-centre-country "Belgium"Without #@cs the game reads these two lines as a club name. In a test, a club called “allocation-centre-place "Somewhere"” appeared.
Our advice: always write #@csThe prefix works in every version of the game, avoids the two exceptions and keeps your extra settings easy to tell apart from the classic lines. The Team Editor also writes all extra settings with the prefix. Without it, older versions would read such a line as a club name.
All settings that also work without #@cs
league-rounds, league-weeks, regions, region-match, location-place, location-country, location-gps, regional-allocation, allocation-group, allocation-branch, allocation-fallback-regions, target-teams, preferred-team-range, allocation-centre-gps, promotion-relegation, forecast, reserve-of, reserve-minimum-division, reserve-minimum-offset, reserve-teams, reserve-relegation, reserve-promotion-max-rank, fansounds-folder, fansounds-mode, fansounds-sources, sound-folder, sound-crowd, sound-mute, sound-original, sound-volume and kit-design.
Small print
- Write the four characters
#@csfollowed by a space. Capital letters (#@CS) also work. - A misspelt word after
#@csis ignored without any message:#@cs regoins "North"does nothing at all. Copy settings from this guide or let the Team Editor write them. - A known setting with an impossible value is reported by the Team Editor's Check. The game then keeps the previous valid value or its default.
#@csin front of a classic line, for example#@cs + division 2, hides that line from older versions. Never do this with lines a league needs, such as the country, the division or the promotions.