Properties2
| Type | Practice |
| Note created | Jun 29, 2026 |
How to turn a base SP Football Life 2026 (Sider-based, PES 2021 engine) install into a full FIFA World Cup 2026 experience — authentic broadcast scoreboard, menu, entrances, tunnels, corner flags, sleeve badges, the 16 host stadiums with official adboards, the adidas Trionda match ball, and summer weather scoped to World Cup matches only.
This documents a working setup built on top of a Sider “30 YEARS [Simulation Version]” megapatch. Paths below assume the install root is …\SP Football Life 2026\SiderAddons\. The patch uses Lua “server” modules (ScoreboardServer, MenuServer, Entrance, StadiumServer, BallServer, etc.) that swap content per tournament ID. The World Cup tournament IDs are: 34, 35, 1058, 2082, 3106, 4130, 5154, 6178, 7202, 8226.
The single biggest gotcha
This patch’s active stadium root is
content\stadiums\— notcontent\stadium-server\. WC stadium packs often install intocontent\stadium-server\, where the liveStadiumServer.luanever reads them. If WC matches load the home team’s club stadium instead of a WC venue, this is why (see Stadiums).
V2 update (28–29 June 2026)
Duc’s second major update to the WC2026 package (FIFA World Cup 2026 Mods Package (29-6).rar) is installed. What changed vs the original release:
- Scoreboard — new replay-wipe with a metallic golden FIFA logo + lighting (by Calvin Alfarizki). Overlaid into
content\scoreboard-server\FIFA\FIFA World Cup 2026 V2. - Entrance — fully reworked for realism: players line up in a circle around the centre spot singing the anthem. ⚠️ Tunnel, substitution board and corner flags are now bundled inside Entrance (Duc integrated them because the standalone StadiumTunnel/Cornerflag servers gave many people trouble) — so there are no separate StadiumTunnel/TournamentConnerFlags folders to install in V2. Overlaid (
commonandAsset) into all three stages: Group Stage, Knockout, Final. - Ball — dedicated Adidas Trionda World Cup 2026 Final ball for the final (see §5).
- RefKit — referee kits now carry Rexona + FIFA The One sponsor logos.
- Subboard — official substitution board with the Rexona logo (rides in with Entrance;
SubBoard.luais not loaded). - Minifaces — V2 bonus (not in the changelog): national-team player portraits, merged into the existing
livecpk\Mini Facesroot. - Still pending from Duc: the stadium banner update (announced for ~2–3 days after this release) — existing Duc banners (§4) stay in place until then.
Install notes: extracted on korolev to
D:\WC2026_staging\V2_extract\; every target folder was backed up toD:\WC2026_staging\_backup_V2\(~3.9 GB) before overlaying. TheEntrance.luaFinal-routing bug was fixed in the same pass (see Key gotchas). The entrance-integrated tunnel/corner-flag props are hidden/system files — useGet-ChildItem -Force(ordir /a) to see them.
What you need (sources)
| Component | Author | Where |
|---|---|---|
| WC2026 graphics package (scoreboard, menu, entrance, tunnel, corner flags, badges, ref kits) | Nguyen Xuan Duc | evoweb thread · Patreon · Ko-fi |
| WC2026 stadium banners (LED adboards, 16 venues) | Nguyen Xuan Duc (Exclusive tier) | Patreon post |
| WC2026 stadiums (12–14 host venues, real names) | Tanker01 | pes-files |
| BallServer pack v60 (incl. adidas Trionda WC 2026, ball ID 951) | Hawke | pes-files · pesmodding |
Stadium Server (the force_weather.ini / stadium-swap engine) | Zlac | pes-files |
Realistic Weather Conditions (WeatherConditions.lua) | Baris | pesmodding |
| Optional: national-team kitpack | EsLaM et al. | Official Kitpack WC2026 v2 |
Tools: a RAR extractor (WinRAR/7-Zip) and a text editor. Always back up any folder/file before overwriting.
Steps
1. Graphics package (Nguyen Xuan Duc)
The package extracts to 7 component folders. Each maps onto the patch’s matching content\ server folder. The package uses a generic FIFA World Cup competition name; your patch uses specific folder names that its map_competitions.txt files already point the WC IDs at. Copy the contents of each component into the right target:
| Package folder | → target |
|---|---|
ScoreboardServer\FIFA World Cup | content\scoreboard-server\FIFA\FIFA World Cup 2026 V2 |
MenuServer\FIFA World Cup | content\menu-server\World Cup 2026 |
RefKitServer\FIFA World Cup | content\referee_kit-server\World Cup |
Entrance\FIFA World Cup\{common, Asset} | content\Entrance\FIFA World Cup\{Group Stage, Final, Knockout}\{common, Asset} (overlay both sub-trees into all 3 stages) |
StadiumTunnel\FIFA World Cup | content\Stadium_Tunnel\Competition\FIFA World Cup — V1 only. As of V2 the tunnel ships inside Entrance (…\common\demo\prop\FIFAWC_mm08), so there’s no separate folder to install (see V2 update). |
TournamentConnerFlags\FIFA World Cup | content\Stadium_CornerFlag\Competitions\FIFA World Cup — V1 only. As of V2 the corner flags ship inside Entrance (…\common\demo\prop\circleflag_* + …\Asset\model\bg\common\cornerflag). |
BadgeServer\FIFA World Cup | content\badge-server\FIFA World Cup |
livecpk\Minifaces (V2 bonus, not in changelog) | merge into the existing livecpk\Mini Faces root (already in sider.ini) — national-team player portraits |
Then apply the Badge UPDATE on top of content\badge-server\FIFA World Cup and …\FIFA World Cup Knockouts.
Later “Official Entrance (UPDATE)” (June 2026): Duc released an entrance refresh — updated host-city / national-flag / competition banners, tunnel arch, and the winners’ platform + trophy for the Final. It ships a common\demo\ tree; overlay it into each stage’s common\: content\Entrance\FIFA World Cup\{Group Stage, Final, Knockout}\common\. The Final/winners-platform needed the Entrance.lua routing bug fixed to trigger — that fix is now applied (see Key gotchas). The later V2 update supersedes this refresh.
The author’s own advice: “the servers already have FIFA World Cup pre-assigned, so you just copy the folder into the right place.” True — but verify your patch’s folder names match (this patch differs from his defaults), which is why the table above maps them explicitly.
2. National-team kits (optional but recommended)
Install the Official Kitpack WC2026 v2 (all 48 nations) via your kit-server / option file — the graphics package does not include kits.
3. Stadiums (the 12 host venues)
Install Tanker01’s WC2026 stadium pack into content\stadiums\ (the active root), e.g. as content\stadiums\WC 2026\<Venue> - <City>\.
Then add the competition→stadium mappings to content\stadiums\map_competitions.txt. Format is tid, stadium_id, name, path, [finals_id, finals_name, finals_path]. All WC group/knockout venues render through stadium slot 009; example lines:
34, 009, MetLife Stadium - New York, WC 2026\MetLife Stadium - New York, , ,
34, 009, AT&T Stadium - Dallas, WC 2026\AT&T Stadium - Dallas, , ,
…(one line per venue, repeated for tids 1058,2082,3106,4130,5154,6178,7202,8226)…
And the final at MetLife in map_comp_finals.txt (tid 35).
Restart the game after editing any
map_*.txt— Sider only loads them at launch. Withdetailed_logging = 1incontent\stadiums\config.ini, the log linecompetition: 34 -> stadium_id: 009 …confirms the WC venues parsed.
The pack covers ~14 venues. SoFi and Levi’s are in it (copy them too); Arrowhead (Kansas City) and Lincoln Financial (Philadelphia) don’t exist for PES2021 — leaving them out is harmless (the game just uses one of the venues you do have).
4. Stadium banners (Nguyen Xuan Duc, Exclusive tier)
The banner pack has one folder per venue (<Venue>\Asset\model\bg\common\ad\…). These are LED adboards keyed to stadium slot 009. The host stadiums apply per-competition overrides via an AddOn\WC26\Comp\<tid>\ system, so to make Duc’s banners show in WC matches you overlay each venue’s Asset into both:
content\stadiums\WC 2026\<Venue>\Asset\…(base), and- each
content\stadiums\WC 2026\<Venue>\AddOn\WC26\Comp\<tid>\Asset\…(the per-tournament-ID overrides the game actually loads).
Note: in this pack, the Lumen Field banner ships broken (a 48-byte placeholder), and BC Place / BMO Field are low-resolution — pack quality issues, not install errors.
5. Match ball — adidas Trionda
Install Hawke’s BallServer pack v60 into content\ball-server\ (it’s an all-in-one — remove/replace any older ball pack; ball IDs are stable across versions, so existing mappings survive). v60 includes Adidas Trionda WC 2026 (ball ID 951) and its map_competitions.txt already assigns it to all WC tids.
V1 manual fix (superseded): the final line (tid 35) shipped with the old 2022 Al Hilm Final in the finals-ball slot, so it was edited to reuse Adidas Trionda WC 2026:
35, 951, Adidas Trionda WC 2026, 951, Adidas Trionda WC 2026, 951, Adidas Trionda WC 2026 Winter
V2 (current): the V2 package ships a dedicated Adidas Trionda World Cup 2026 Final ball folder (a distinct model, still ball ID 951). It’s installed into content\ball-server\, and tid 35’s finals slot points at it — while the base (knockout) and winter slots keep Hawke’s Adidas Trionda WC 2026 / … Winter (Duc’s V2 lines drop the proper Winter variant, so we deviate to preserve it):
35, 951, Adidas Trionda WC 2026, 951, Adidas Trionda World Cup 2026 Final, 951, Adidas Trionda WC 2026 Winter
The package’s
BallServer\add line to map_competitions.txtalso ships its own baseAdidas Trionda World Cup 2026folder, but that’s functionally identical to Hawke’sAdidas Trionda WC 2026(same ball 951) — only the Final folder is genuinely new, so that’s all we wire in.
6. Play World Cup matches in Exhibition (CustomExhibitionMatch)
The CustomExhibitionMatch.lua module lets an Exhibition match run as a competition. Its config lives at content\custom-exhibition-match\config.ini:
favorite_competition = 29 # 29 = the FIFA World Cup entry's index in the module's competition list
version = 1.3 (experimental)In a match, in-game hotkeys (top-row, not numpad): 8 = apply favorite competition, 7 = set highlighted competition as favorite, 9 = toggle Final, PageUp/PageDown = browse. If Sider reports the module “NOT activated”, the content\custom-exhibition-match\ folder is missing — recreate it with the config.ini above.
Selecting the World Cup sets tournament_id
34(or35for the final), which cascades to every server: scoreboard, menu, referee kits, entrance, tunnel, corner flags, sleeve badges, the WC host stadium (slot 009) + its banners, and the Trionda ball.
7. Summer weather for World Cup matches only
The real-world WC is in June/July. force_weather.ini (Zlac’s Stadium Server) forces weather per stadium, always — not per competition — so it leaks to any non-WC use of those venues. WeatherConditions.lua (Baris) sets the weather type from the season but never sets the season itself.
The clean, WC-only solution is a tiny custom Sider module that forces the season to summer only for WC tournament IDs, then lets the other modules react (snow auto-disables in summer). Save as modules\WorldCup26ForceSummer.lua:
-- WorldCup26ForceSummer.lua
-- Forces SUMMER season for FIFA World Cup matches only (by tournament_id).
-- StadiumServer then loads the Summer_* stadium variant and Baris's
-- WeatherConditions.lua rolls realistic summer weather (snow off).
-- Time-of-day and weather stay dynamic; non-WC matches are untouched.
local WC_TIDS = { [34]=true,[35]=true,[1058]=true,[2082]=true,[3106]=true,
[4130]=true,[5154]=true,[6178]=true,[7202]=true,[8226]=true }
local SUMMER = 0 -- season: 0 = Summer, 1 = Winter (StadiumServer convention)
local function set_conditions(ctx, options)
if not options then return nil end
if WC_TIDS[ctx.tournament_id] then
if options.season ~= SUMMER then options.season = SUMMER end
return options
end
return nil
end
function init(ctx) ctx.register("set_conditions", set_conditions) end
return { init = init }Register it in sider.ini, before StadiumServer.lua:
lua.module = "WorldCup26ForceSummer.lua"
lua.module = "StadiumServer.lua"
8. Crash fixes (latent nil-index bugs in the *Server.lua modules)
Making WC a competition with assigned content exercises code paths that were never used before (no other competition here uses competition-level assignment), surfacing a shared latent bug: a name/preview resolver indexes …_assignment_map[tid][random_*] while the random_* index can be nil (it’s only set in a separate function). Two modules hit it:
StadiumServer.lua—lua ERROR from module_stadium_name: …:~731: attempt to index a nil value. Inget_new_stadium_path(), guard inside theif tid < 65535 and competition_assignment_map[tid] ~= nil thenblock:if random_num_comp == nil or competition_assignment_map[tid][random_num_comp] == nil then random_num_comp = 1 end -- WC26 nil-guardBallServer.lua—lua ERROR from module_ball_name / module_after_set_conditions: …:486: attempt to index a nil value. Inget_new_ball_path(), guard inside theif competition_assignment_map[tid] ~= nil thenblock:if random_comp_ball == nil or competition_assignment_map[tid][random_comp_ball] == nil then random_comp_ball = 1 end -- WC26 nil-guard
Each falls back to the first assigned item instead of indexing nil. Back up the module first. The scoreboard/menu/referee servers map WC to a single folder (no random-index path), so they haven’t needed it — but a new crash pointing at one is the same fix.
9. WC audio (optional)
Only one WC sound is actually 2026: intro_anthem.mp3 (from Duc’s pack, in content\scoreboard-server\FIFA\FIFA World Cup 2026 V2\; still shipped in V2 alongside the new golden replay-wipe scoreboard). The rest are older:
- Match-over results jingle (Predator002’s SoundtrackServer):
content\soundtrack-server\6_Results_Specific\FWC\Track_1.mp3was the Qatar 2022 jingle. To silence it, replace that file with a silent MP3 (just deleting it falls back to a generic results track). To change it, drop in anyTrack_1.mp3. - Tunnel / lineup anthems (
tournament_anth_tunnel\FIFA\): onlyWorld_Cup_2018andWorld_Cup_2022exist — no 2026 folder — so the walkout anthem is still Qatar 2022. A 2026 version needs a newWorld_Cup_2026folder + a mapping tweak.
Key gotchas (hard-won)
content\stadiumsvscontent\stadium-server— only the former is live in this patch. WC stadiums + theirmap_competitionslines must go there. (§3)- Restart after any
map_*.txtor.luachange — Sider loads them only at launch. force_weather.iniis per-stadium, not per-competition — use the custom module (§7) for WC-only summer.- Hotkey clash — CustomExhibitionMatch and StadiumServer both use
0/7/8/9/PageUp/PageDown; remap one if you need StadiumServer’s manual stadium picker while WC mode is active. - The graphics package ships no kits, no stadiums, no ball — those are separate (§2, §3, §5).
Entrance.luaFinal-routing bug — ✅ FIXED (applied June 2026). The WC catch-all atmodules\Entrance.lualine ~190 listed every WC tid including35, routing all WC matches (final included) toFIFA World Cup\Group Stageand leaving the next branch’smatch_info == 53Final / else Knockout logic as dead code. The fix removes onlytid == 35from that catch-all (keep34there — exhibition WC matches arrive as tid34and should be Group Stage), so tid35falls through to the Final/Knockout branch:-- line ~190, before: elseif tid == 34 or … or tid == 8226 or tid == 35 then -- "FIFA World Cup\\Group Stage" -- after (dropped "or tid == 35"): elseif tid == 34 or … or tid == 8226 then -- the next branch then reaches tid 35: elseif tid == 34 or tid == 35 then if ctx.match_info == 53 then Entrance = "FIFA World Cup\\Final" else Entrance = "FIFA World Cup\\Knockout" endmatch_info == 53is confirmed as the engine’s “final” flag (the independentEntrance_fix.luakeys finals off the same value). So in exhibition, toggling Final (hotkey9, → tid35+match_info == 53) now reaches the Final entrance / winners platform; other tid-35knockout matches get the Knockout entrance.- Tunnel / corner-flag overlap (V2 watch-point, needs in-game check). The standalone
Stadium_Tunnel.lua+Stadium_CornerFlag.luaservers are still active and V2’s Entrance now carries its own tunnel/corner-flag demo props. They likely cover different moments (the in-stadium model vs. the entrance-cutscene prop) so both were left enabled, but if WC matches show doubled/duplicated corner flags or the wrong tunnel, disableStadium_CornerFlag.lua/Stadium_Tunnel.luainsider.ini.SubBoard.luais not loaded, so V2’s integrated substitution board (Rexona logo) has no competing module.
Result
A WC2026 Exhibition match loads a real host venue (slot 009) with Duc’s WC banners, the full broadcast presentation (scoreboard / menu / entrance / tunnel / corner flags / badges), the adidas Trionda ball, and summer weather — with everything scoped so non-WC matches are unaffected.
Setup performed on the Windows machine korolev in June 2026; this note was generated from that session, then updated when Duc’s V2 package (29 June 2026) was installed.