Chapter 11

Editing game data

You can create countries, leagues, clubs and footballers with ordinary text files. This guide starts with the smallest useful example and explains what the game does with every value when it builds a new career.

How data becomes a career

Think of the recognised Data root inside a football-world package as a set of instructions for building a new world. A league file says which country, competitions and clubs belong together. Each club name leads to a team file. A team file can list real or invented footballers, or let the game create a balanced squad. Optional player details can then describe nationality, age, ability, individual skills and personality.

When you choose the normal Start a new career route, select the package on Career football world and then choose its leagues on Select Database. Championship Soccer reads those files and creates the clubs, players, fixtures and calendar. Later changes to the text files do not rewrite a career that already exists; start another career when you want to see revised data.

Use normal career creation for edited data

Quick start opens an already prepared football world. To test a changed league or team, start a normally assembled career, select the edited package and include its league selection.

You do not have to describe everything. A short team file can produce a fully generated squad. A player may have only a nationality, only a birth year, a few favourite skills, or a complete profile. Missing information is filled in through the same footballer-creation process used elsewhere in the game.

If you are installing an existing community world, or need the supported folder, ZIP and Package.ini layouts, begin with Custom football worlds & user content. This chapter concentrates on writing the league, team and player files themselves.

Your first football-world package

Before editing

  1. Leave the installed Data folder intact. Create a separate package under Documents\My Games\Championship Soccer\DataSets. The supplied world then remains available as a working reference and fallback.
  2. Use a plain-text editor. Save files as .txt, not as a word-processing document. Basic English letters and numbers are the safest choice. For accented European names, choose Western European or Windows-1252 text when your editor offers an encoding choice.
  3. Begin from a similar working file. Copy the individual league or team file you want to use as an example into your package before editing it. A comparable competition provides valid shirt colours, timing and a useful layout.
  4. Change one layer at a time. First make the country and clubs appear, then add named players, and finally add detailed player values.
  5. Close the game before changing files. Save the complete set, then start a new career and select your package.

Files that belong to the football-world package

The examples below assume the recommended package path DataSets\My Football World\Data. A local ZIP can contain the same structure.

Recommended location from the package folderWhat belongs thereIs it required?
Data/LeagueCountry and competition files. These list the divisions and the clubs that will be loaded.Yes, for a selectable custom package.
Data/TeamOne file for each club or national side named by the selected data.Use one for every club you list.
Data/PlayerOptional separate detail files for individual footballers.No. Details can also live inside a team file.
Data/StartYear.txtAn optional suggested year for a newly created career.No. The value can still be changed on Select Database.

Files that belong to shared user Data

Generated-name pools and supported runtime replacements are global rather than private to the selected package. Put them in the fixed Documents\My Games\Championship Soccer\Data folder:

Shared user locationWhat belongs thereScope
Data/NamesFirst-name and family-name lists used when the game generates footballers.Files fall back individually to the supplied name pool when absent.
Data/GraphicsSupported replacements such as Graphics1.bmp, color_table.txt and Pointer.bmp.Global, independently of the selected world.
Data/TeamsoundsCustom team entrance and goal sounds referred to by team data.Each missing sound can fall back to the supplied file.
Data/FansoundsA complete custom fan-sound pool.The custom pool is not mixed with the supplied pool.

Do not place these files only inside a named DataSets package or package ZIP. See Shared user Data for fallback rules, supported files and boundaries.

Simple text rules

  • Use one instruction, team name, player name or value per line.
  • Keep names consistent. A club listed as Example United needs the team file Data/Team/Example United.txt.
  • Put a comment on its own line and begin it in the first column with ;. Do not place comments after a value.
  • Keep quotation marks around names and paths where the examples show them.
  • Blank lines are harmless. An empty optional player value is treated as information you chose not to provide.
  • No format number or special version header is needed.

Creating a country and its leagues

Save the following example as Data/League/Exampleland.txt inside your package. It creates one country, points to two shared name lists and adds a four-club top division.

! Country "Exampleland"
! Names "Data/Names/Exampleland_1st.txt" "Data/Names/Exampleland_2nd.txt"

: Premier Division
+ Division 1
+ promotions 0
+ relegations 0
+ reputation 10
Example United
Riverside City
Northport Athletic
Southvale Town
LineMeaning
! Country "Exampleland"Creates the country name used by the league, clubs, generated players and nationality matching.
! Names "…" "…"Chooses first-name and family-name files from the fixed shared user Data/Names folder.
: Premier DivisionStarts a division with the displayed name “Premier Division”.
+ Division 1Marks this as the first level. A second level would use + Division 2.
+ promotions 0Sets how many clubs move up after the season. The top level normally uses zero.
+ relegations 0Sets how many clubs move down. Use a number that makes sense for the next division, if one exists.
+ reputation 10Sets the standing of the division. Existing files provide useful examples from small regional competitions to leading leagues.
Plain club-name linesAdd those clubs to the current division, in the order shown.

Name lists for generated players

Keep the historical Data/Names/... path in the league file, but create the actual Exampleland_1st.txt in shared Documents\My Games\Championship Soccer\Data\Names. Put one first name on each line:

Alex
Jamie
Morgan
Sam
Taylor

Create Exampleland_2nd.txt in that same shared folder:

Brown
Green
Hill
River
Stone

The game combines these lists when it needs another footballer. Larger lists create more variety and reduce repeated names during long careers. A name file stored only inside this package or its ZIP is not used as a private package source, so give shared files distinctive names when several custom worlds are installed.

More divisions

Start another block with a new : line, set + Division 2, promotions, relegations and reputation, then list its clubs. Make sure promotion and relegation counts agree: if two clubs leave the top division, two clubs should normally arrive from the division below.

Cup competitions

Cups use several linked lines for entry rounds, team counts and calendar weeks. For a first world, it is perfectly valid to begin with leagues only. When adding a cup, copy a working cup block from an existing country with a similar number of teams and round structure. Change the displayed cup and country names carefully, then test the complete season before altering its round sizes or weeks.

Competition timing affects the whole calendar

A cup round placed in an unsuitable week can collide with league or international fixtures. A close existing competition is the safest starting point for a custom cup.

Creating teams and squads

Every club line in the league file should have a matching file in Data/Team. For Example United, create Data/Team/Example United.txt.

The smallest useful team file

! Name "Example United"
! Reputation 10
! 1 shirt Red1
! 1 shorts White
! 2 shirt White
! 2 shorts Red1

This is enough to identify the club, give it a football level and define two kits. If fewer than eleven named footballers are supplied, the game completes the squad with suitable positions and names from the country’s name lists.

Name
The club name shown in the game. Keep it the same as the league entry and filename.
Reputation
The club’s starting football standing. Team files normally use a scale from 1 for a very small side to 20 for an elite side.
Kit 1
The first-choice shirt and shorts.
Kit 2
The change kit used when the first colours would be confusing.

Team files can also describe stripes, sleeves, socks and a third kit. Use a supported colour name such as Red1, Blue2, White or Black. The standard kit colour palette below shows every included English name and its default rendered value.

Adding named players

Place roster lines after the team information and before any detailed $ blocks:

Taylor, Alex (1997): GK
Brown, Jamie (1998): D L
Stone, Morgan (1995): D C
River, Sam (2000): M C
Green, Taylor (1999): AM R
Hill, Alex (1996): F C

The recommended pattern is Family name, First name (birth year): Position Side. The name and year also make it easier to connect the roster line to a detailed player block or separate player file.

CodePositionExample
GKGoalkeeperGK
SWSweeperSW C
DDefenderD L or D C
DMDefensive midfielderDM C
MMidfielderM L, M C or M R
AMAttacking midfielderAM R
FForwardF C

The side letters are L for left, C for centre and R for right. If you omit a side, one is chosen when the squad is created. If you omit a position, the game uses the next position the incomplete squad needs. Explicit position and side codes make the result easier to predict.

Data/Team reference

Kit colour names

kit-colours

Enter a colour name in a team file. The palette below shows the English names included with the standard game and what each colour will look like. RGB and hexadecimal values are provided for reference and cannot be entered in place of a name.

Mods can provide a different colour palette

To replace the kit colour-name table, put color_table.txt in shared Documents\My Games\Championship Soccer\Data\Graphics. It applies independently of the selected football world and can add different names or make the same name render in another colour. If no custom table is present, the supplied installation table remains in use. A table stored only in a named package folder or ZIP is not selected with that world.

54standard RGB colours
24descriptive colours
30additional colours
! 1 shirt Blue3
! 1 stripes White
! 1 sleeves Blue3
! 1 shorts White
! 1 socks Blue3
Kit number
The first number selects kit 1, 2 or 3.
Kit parts
Set shirt, stripes, sleeves, shorts and socks separately.
Inheritance
A part without its own definition uses the shirt colour.
Use one complete listed name

ASCII capitalisation is ignored, so Blue3, blue3 and BLUE3 are equivalent. Enter a complete name from the palette rather than a shortened form.

English descriptive names

Every English spelling shown together on one card is an alias for the same colour.

24 colours
  • black

    RGB 0, 0, 0#000000

  • white

    RGB 255, 255, 255#FFFFFF

  • red

    RGB 245, 0, 0#F50000

  • red2

    RGB 240, 0, 0#F00000

  • deepreddeep-reddarkreddark-red

    RGB 221, 0, 0#DD0000

  • orange

    RGB 238, 136, 0#EE8800

  • blue

    RGB 16, 16, 250#1010FA

  • lightgreylightgraylight-graylight-grey

    RGB 187, 187, 187#BBBBBB

  • greygray

    RGB 153, 153, 153#999999

  • darkgraydark-graydark-greydarkgreydeep-graydeep-grey

    RGB 85, 85, 85#555555

  • green

    RGB 5, 170, 5#05AA05

  • lightgreenlight-green

    RGB 7, 187, 7#07BB07

  • darkgreendark-greendeepgreendeep-green

    RGB 0, 119, 0#007700

  • yellow

    RGB 253, 253, 2#FDFD02

  • dark-yellowdeep-yellowdarkyellowdeepyellow

    RGB 232, 237, 0#E8ED00

  • lightbluelight-blue

    RGB 153, 153, 252#9999FC

  • brown

    RGB 204, 85, 85#CC5555

  • deepbluedeep-bluedark-bluedarkblue

    RGB 0, 0, 153#000099

  • purplepink

    RGB 207, 145, 236#CF91EC

  • violet

    RGB 80, 0, 80#500050

  • lightblue2light-blue2

    RGB 140, 188, 250#8CBCFA

  • blue-greyblue-gray

    RGB 177, 190, 194#B1BEC2

  • black-blue

    RGB 0, 0, 18#000012

  • light-brown

    RGB 153, 68, 68#994444

Additional unique palette names

These numbered and specialist names provide another 30 distinct colours.

30 colours
  • Grey1

    RGB 128, 128, 128#808080

  • Grey2

    RGB 112, 112, 144#707090

  • Red1

    RGB 224, 0, 0#E00000

  • Red3

    RGB 144, 16, 0#901000

  • Orange1

    RGB 255, 112, 0#FF7000

  • Orange2

    RGB 224, 128, 0#E08000

  • Yellow1

    RGB 255, 240, 0#FFF000

  • Yellow2

    RGB 255, 208, 0#FFD000

  • Green1

    RGB 0, 128, 48#008030

  • Green2

    RGB 0, 96, 48#006030

  • Blue1

    RGB 0, 32, 96#002060

  • Blue2

    RGB 0, 32, 128#002080

  • Blue3

    RGB 0, 48, 160#0030A0

  • Blue4

    RGB 0, 80, 208#0050D0

  • Blue5

    RGB 96, 192, 255#60C0FF

  • Purple1

    RGB 128, 0, 64#800040

  • Purple2

    RGB 96, 0, 96#600060

  • Purple3

    RGB 128, 0, 32#800020

  • Brown1

    RGB 128, 64, 0#804000

  • Brown2

    RGB 160, 80, 0#A05000

  • Gold

    RGB 217, 177, 40#D9B128

  • Grey3

    RGB 198, 198, 198#C6C6C6

  • Purple4

    RGB 206, 132, 206#CE84CE

  • Green3

    RGB 0, 136, 136#008888

  • Green4

    RGB 128, 200, 72#80C848

  • Amber

    RGB 255, 170, 0#FFAA00

  • Cyan1

    RGB 16, 168, 168#10A8A8

  • Cyan2

    RGB 5, 97, 97#056161

  • Red4

    RGB 223, 30, 122#DF1E7A

  • Green5

    RGB 0, 62, 48#003E30

Adding player details

You can keep player details inside the team file or place them in a separate file. Both methods accept the same fields, and every field is optional.

Method 1: a detail block inside the team file

After all roster lines, begin the player’s details with $ followed by exactly the same displayed name:

$ Taylor, Alex (1997)
nationality = England
ability = 135
position = GK
dateOfBirth = 1997-06-23
handling = ++
reflexes = +++
teamwork = +
loyalty = 16

The next $ line starts another player. Keep all plain roster lines above the first detail block.

Method 2: a separate player file

Create Data/Player/Taylor, Alex (1997).txt and place only the value lines inside it:

nationality = England
ability = 135
dateOfBirth = 1997-06-23
handling = ++
reflexes = +++
A separate player file takes priority

If the same footballer has both a matching file in Data/Player and a $ block in the team file, the separate player file supplies the details. The two sources are not mixed. Keep one complete preferred version to avoid surprises.

General player fields

KeywordExampleWhat it means
nationalityEnglandThe country for which the footballer is eligible. Use the country’s displayed data name.
ability135The intended overall football level, from 10 to 250. It is position-aware rather than a simple average of every skill.
reputation130The player’s standing and recognition in the football world. It does not directly replace the skill profile.
potential165The player’s development outlook. It can be above current ability for a player with room to improve.
positionAM RThe football role. Keep it consistent with the roster line; the roster position is the clearest place to define the player’s natural role and side.
yearOfBirth1997A birth year when the exact day and month are unknown.
dateOfBirth1997-06-23An exact date in year-month-day order.
skindarkOptional appearance. Supported descriptions are white, dark and black.
hairdarkbrownOptional appearance. Common supported descriptions include blond, lightbrown, darkbrown and black.

nationality is the recommended spelling. Older files using nation remain accepted. Keywords are not sensitive to capital letters, spaces, hyphens or underscores, so yearOfBirth, year of birth and year_of_birth have the same meaning. Using the recommended spellings makes a file easier for other people to read.

Skills, personality and value hints

Every skill below is optional. You may set one, several, all of them or none. The first group describes actions and movement on the pitch. The later values give footballers different styles and career behaviour even when their visible football level is similar.

Recommended keywordMeaningUseful for
speedRunning paceCovering ground and separating from opponents
shotPowerStrength of strikesShooting and deliberate ball striking
shotControlAccuracy and clean contactFinishing, passing and controlled strikes
staminaResistance to fatigueMaintaining work across a match
dribblingMovement while carrying the ballLonger attacking runs
jumpingAerial reachHeaders and aerial contests
anticipationReading and reacting to playLoose balls, movement and positioning
agilityTurning and movement controlChanging direction and recovering balance
tacklingWinning direct challengesDefensive contests
headingControl in the airAttacking and defensive headers
ballControlTaking and keeping possessionFirst touches and close control
handlingGoalkeeper catchingTaking control instead of parrying
reflexesQuick reactionsGoalkeeping and fast developing situations
aggressionCompetitive intensityHow readily the player commits to contests
longShotsPreference and quality from distanceLong-range attacking play
teamworkCollective playSupporting team shape and shared decisions
offensivenessAttacking outlookHow naturally the player favours forward play
forwardRunsWillingness to advanceRuns beyond the current position
visionAwareness of useful optionsCreative and team-aware decisions
adaptabilityAdjustment to a different countrySettling after an international move
loyaltyAttachment and commitmentContract and career decisions
greedFinancial ambitionWage expectations and money-related decisions

Exact values from 1 to 20

Use a whole number when you want to describe the profile precisely:

speed = 18
tackling = 7
vision = 16

A value of 1 describes a very weak quality and 20 an exceptional one. Do not use numeric zero for a skill. The character 0 has a different meaning: it is the neutral hint described below.

Hints with natural variation

Use hints when you want to describe the kind of footballer without fixing every detail. Each new import chooses a value within the shown band:

HintMeaningPossible starting value
+++Outstanding18–20
++Very strong15–18
+Strong12–15
0Neutral or ordinary9–12
-Below average7–9
--Weak4–6
---Very weak1–3

You may also use a personal range such as speed = 15-18. Both ends must remain between 1 and 20, and the smaller number must come first.

Older data files may use keeping for handling, attack-mindedness for offensiveness, adaptation for adaptability, or greediness for greed. These spellings remain accepted. The letter o is also accepted as the historical form of the neutral 0 hint.

How the final footballer is created

A data file describes your intention; the game turns that description into a complete footballer who fits the career world. This is why some individual numbers can differ from the text file even when the file has been read correctly.

Ability is the overall target

ability represents the player’s intended total football level in his natural position. A goalkeeper relies on a different combination of skills from a forward, so ability is not the simple average of every number.

If you supply both ability and skills, the skills describe the shape of the player while ability sets the total level. The game preserves the relative strengths as closely as possible, then adjusts the complete set so the player actually reaches the requested ability.

Why an exact skill may not remain exactly the same

A file that asks for every important skill to be 20 but sets ability to 80 contains two conflicting wishes. Keeping all the 20s would create a far stronger footballer. The values are therefore brought down together while the strongest and weakest parts of the requested profile remain recognisable.

What happens when information is missing

What you provideWhat the game does
No player detailsCreates a normal, positionally balanced footballer for the club.
Only nationality or birth informationUses that identity information and generates the football profile normally.
Only abilityCreates a suitable positional profile at exactly that overall level.
A few skills, without abilityUses them as the player’s main tendencies. The club, position and normal creation process still determine the overall level.
Ability and a few skillsGenerates the missing qualities, preserves the requested tendencies and balances the complete profile to the ability.
All skills, without abilityUses the full profile as a pattern, then fits it to the normal overall level for that created player.
All skills and abilityUses ability as the final target and preserves the supplied profile as closely as the 1–20 limits allow.
An invalid optional valueIgnores that one value while retaining the other valid information.

Hints are intentionally different between careers

++ means “make this a clear strength”, not “always use one fixed number”. Starting two new careers can therefore produce slightly different footballers from the same hint-based file. Exact numbers reduce this variation, although the final ability balancing described above still applies.

Ability, potential and reputation are separate

Ability describes present football quality. Potential describes the outlook for development. Reputation describes how established and recognised the player is. A young prospect can have modest ability, high potential and low reputation; an ageing star can have strong ability and reputation with little remaining development room.

Birth dates, nationality and duplicate players

Birth year or full date

Use either of these, according to how much you know:

yearOfBirth = 1997

dateOfBirth = 1997-06-23

A full date must always use four digits for the year, two for the month and two for the day. If both fields are present and disagree, the valid full date wins. The player’s age is calculated from the simulation’s start year.

How duplicate detection uses birth dates

The same normalised name and full birth date identify the same footballer across teams. If that exact identity appears again, only one copy is kept. Two players may share a name when their full dates differ. Without a full date, name matching is deliberately more cautious so that common names in different clubs are not removed by mistake.

Nationality and national-team eligibility

Use the exact displayed country name from your selected league data:

nationality = England
nationality = Brazil
nationality = Exampleland

If nationality is omitted, a club player uses the club’s country. A spelling that does not match any loaded country cannot provide valid national-team eligibility, so check spaces and country naming carefully. Nationality does not have to match the club country: an English footballer can play for a German club and still remain eligible for England.

Choosing the career start year

Create StartYear.txt directly in the recognised package data root when your world belongs to a different era. Its simplest and recommended content is one four-digit year:

2023

The file suggests the starting point for the calendar and for ages calculated from yearOfBirth or dateOfBirth. Check the value shown on Select Database: that displayed value is authoritative and may be changed before the world is created.

The package is not a continuing save dependency

After import, the save contains its date, clubs, players and competitions. Changing, moving or removing StartYear.txt cannot move or recalculate an existing career; it affects only subsequently created careers.

The file should contain a year from 1000 to 9999. The initial suggestion is resolved from a previously chosen and successfully used year, then the selected package, then the installed data, and finally 2004. A start year is not a request to rewrite historical names; it supplies the calendar reference from which stated birth dates are interpreted. The package start-year guide explains this precedence in full.

Checking your work

  1. Check the names first. Confirm that every club line has a team file with the same name, and every player detail block or separate file matches its roster name.
  2. Start a new, normally assembled career. Select the edited football-world package, turn off Use only fantasy players in new careers when checking named squads, and choose the edited country and division instead of using Quick Start.
  3. Open the league table. Confirm the division name, club count, team names and promotion or relegation expectations.
  4. Open several squads. Check that generated positions are balanced, named players appear, kits are recognisable and club strength is plausible.
  5. Open player information. Check nationality, age, position, ability and the general shape of the requested skills.
  6. Advance the calendar. Check fixtures, cup rounds and the first international periods before beginning a long career.
  7. Save under a new filename. Keep your test career separate from an established save until the edited world behaves as intended.

Common surprises

My edited player did not change.

Start a new normally assembled career. Existing careers already contain their created player population. Also check whether a matching file in Data/Player is taking priority over the detail block in the team file.

My detailed block is being ignored.

The name after $ must match the roster name. Keep commas, spaces and the year in the same arrangement. Place all roster lines before the first $ block.

A skill is not exactly the number I entered.

The final profile must still fit the player’s overall ability. Individual values can be adjusted together so that a low-ability player does not become an elite footballer merely because many high skills were entered.

The same file creates slightly different players.

Hints and missing values include natural variation. Use more exact 1–20 values when you want a more tightly defined profile, while remembering that overall ability balancing still applies.

My footballer has the club’s nationality.

When nationality is absent, the club country is used. Add nationality = Country name and make sure that country exists in the selected data with exactly the same displayed spelling.

Accented letters look wrong.

Save the data as Western European or Windows-1252 text, matching the supplied data files. If your editor cannot do this reliably, use basic English letters while testing.

A named player disappeared from a second club.

The same name and exact birth date identify one footballer. Correct the date if these are genuinely different people, or keep only the intended club entry if they are the same person.

The career starts in a different year from my package.

Check that StartYear.txt sits directly in the recognised package data root and contains one valid four-digit year. Then check the value displayed on Select Database: a previously chosen year takes priority over the package suggestion, and the displayed value can be changed before import.