With this script you can use many stadiums as you want in eFootball PES 2020. Sider 6 is required to be installed.
How to Install:
1. Install Sider 6 [ Latest Version !!! ].
2. Extract rar file with WinRAR
3. Copy folders content and modules where sider.exe file is located.
4. Download and install CommLib.lua
5. Add lua.module = "StadiumServer.lua" near the top of the Extension modules section in sider.ini (but still BELOW lua.module = "lib\CommonLib.lua" if you use CommonLib too)
6. Add lua.module = "WeatherConditions.lua" directly below stadium server entry (directly below lua.module = "StadiumServer.lua") in sider.ini
7. Customize map_teams.txt and map_competitions.txt files and add more stadium folders in content\stadium-server folder (NO STADIUMS are included together with the script!!)
8. Please, read carefully all the comments inside map_teams.txt and map_competitions.txt files! Always use leading zeroes when writing stadium ID's!
How to update from 1.00 to 1.20
1. Make sure you have fully functioning 1.00 installed ( Read the instruction above )
2. Unpack the v1.2 archive and copy folders content and modules into your sider folder (overwrite when asked).
3. Open content\stadium-server\ADD THIS TO YOUR EXISTING map_teams.txt file and copy-paste its content into your existing map_teams.txt file (doesn't really matter where, but preferably at the end of the file) and save changes - to ensure that stadium server properly handles real stadiums made by Konami. Don't replace entire map file - ADD those lines to your existing map_teams.txt
Add this line:
# Default Konami stadiums (these entries point to original .CPK stadiums!!) - THIS SECTION OF MAP_TEAMS.TXT MUST BE PRESENT IF USING STADIUM SERVER v1.20 or NEWER!! # "teams_with_cpk_homegrounds" table in .lua is no longer used in stadium server v1.20! # - This section allows stadium server 1.20+ to assign original stadiums made by Konami too # - If you use enhanced community versions of any stadiums mentioned in this section, then remove corresponding entries for default Konami stadiums listed below 119, 001, Giuseppe Meazza, Konami\Giuseppe Meazza # Inter 108, 002, Camp Nou, Konami\Camp Nou # Barcelona 12, 006, Stadio Olimpico, Konami\Stadio Olimpico # Italy NT 122, 006, Stadio Olimpico, Konami\Stadio Olimpico # Lazio 125, 006, Stadio Olimpico, Konami\Stadio Olimpico # Roma 100, 007, Old Trafford, Konami\Old Trafford # Manchester United 193, 010, Estadio Jose Alvalade, Konami\Estadio Jose Alvalade # Sporting FC 127, 011, Allianz Arena, Konami\Allianz Arena # Bayern 1255, 014, Estadio do Morumbi, Konami\Estadio do Morumbi # Sao Paulo 1254, 016, Estadio Urbano Caldeira, Konami\Estadio Urbano Caldeira # Santos 120, 022, Allianz Stadium, Konami\Allianz Stadium # Juventus 147, 023, Saitama Stadium 2002, Konami\Saitama Stadium 2002 # Urawa Red Diamonds 45, 024, Estadio do Maracana, Konami\Estadio do Maracana # Brazil NT 1248, 024, Estadio do Maracana, Konami\Estadio do Maracana # Flamengo 1249, 024, Estadio do Maracana, Konami\Estadio do Maracana # Fluminense 50, 027, El Monumental, Konami\El Monumental # Argentina NT 138, 027, El Monumental, Konami\El Monumental # River Plate 139, 028, Estadio Alberto J. Armando, Konami\Estadio Alberto J. Armando # Boca Juniors 121, 030, San Siro, Konami\San Siro # Milan 137, 033, Allianz Parque, Konami\Allianz Parque # Palmeiras 1245, 034, Estadio Mineirao, Konami\Estadio Mineirao # Atletico Mineiro 1247, 035, Arena Corinthians, Konami\Arena Corinthians # Corinthians 1252, 036, Estadio Beira-Rio, Konami\Estadio Beira-Rio # SC Internacional 112, 041, Stade Louis II, Konami\Stade Louis II # Monaco 1706, 049, St. Jakob Park, Konami\St. Jakob Park # Basel 101, 052, Emirates Stadium, Konami\Emirates Stadium # Arsenal 136, 059, Estadio Sao Januario, Konami\Estadio Sao Januario # Vasco da Gama 1256, 062, Estadio Monumental, Konami\Estadio Monumental # Colo Colo 184, 063, Veltins-Arena, Konami\Veltins-Arena # Schalke 04 131, 064, Celtic Park, Konami\Celtic Park # Celtic 132, 065, Ibrox Stadium, Konami\Ibrox Stadium # Glasgow Rangers 197, 066, Ulker Stadyumu Fenerbahce, Konami\Ulker Stadyumu Fenerbahce # Fenerbahce 10, 070, Johan Cruijff Arena, Konami\Johan Cruijff Arena # Netherlands NT 116, 070, Johan Cruijff Arena, Konami\Johan Cruijff Arena # Ajax 117, 071, De Kuip, Konami\De Kuip # Feyenoord 2287, 074, Estadio Alejandro Villanueva, Konami\Estadio Alejandro Villanueva # Alianza Lima
List of entries to be added to your map_teams.txt (copy/pasted from ADD THIS TO YOUR EXISTING map_teams.txt file)
IMPORTANT: Step 3. adds all teams that use REAL stadiums made by Konami to map_teams.txt and re-assigns REAL Konami stadiums as their home grounds. No additional stadium downloads required, those entries just point to original Konami .cpk stadiums.
Q: But I was already using better version of Konami's stadium XYZ from stadium server and after pasting above lines, stadium server forces me to use original Konami's version of XYZ again? How do I force it back to use better version of XYZ from stadium server's content?
A: Keep your old entry in map_teams.txt that assigned better version of XYZ stadium and remove corresponding new entry from 1.20 updated map.
E.g. delete newly added 1.20-related line "121, 030, San Siro, Konami\San Siro # Milan" if you want to use your own version of San Siro for AC Milan instead of the Konami's original.
Rinse&repeat for other similar situations too.
Stadium Server v1.21 Fix
Simple fix for wrong overlay info in exhibition mode (sometimes incorrect previews and stadium names, when multiple stadiums share same ID)
How to install:
1. Make sure you have both 1.00 and 1.20 installed
2. Unpack the v1.21 fix archive and copy folder modules into your sider folder (overwrite when asked)
Stadium Server v1.25 Update
How to Install:
1. Make sure you have both 1.00 and 1.20 installed (1.21 fix can also be installed, but v1.21 fix is now optional for fresh installation, since v1.25 contains v1.21 fix too)
2. Unpack the v1.25 archive and copy folder modules into your sider folder (overwrite when asked)
# GDB-style unlimited stadium management - add as many stadiums as you want in a GDB-like folder structure
# Mostly unchanged stadium packaging - stadium structure remains almost identical to the .cpk version, meaning that entire stadium directory tree (starting with "Asset" and "common" folders) can be copy-pasted into one top-level GDB folder. These folders (and their subfolders) from the usual stadium-related cpk-tree are currently supported:
for adboards - only config.xml is supported, for stadiums that need to REMOVE adboards completely!! (NOT TESTED IN 2020!)
IMPORTANT: db files (common\etc\... data_st_list.bin, Stadium.bin, StadiumOrder.bin, StadiumOrderInConfederation.bin) for stadium registration are not required. DO NOT INCLUDE THOSE!!
# Stadium assignment to individual home teams via map_teams.txt file - pretty much self-explanatory, see the supplied map_teams.txt file for examples of how to connect team ID with one GDB-stadium
# Stadium assignment to competitions via map_competitions.txt file - use it to connect competition/tournament ID with one or more stadiums from GDB.
All teams participating in particular competition can either use identical stadium (if ony one stadium is assigned to that competition) or have one of the stadiums assigned randomly if there's more than one stadium assigned to that competition.
## It is possible to assign unlimited number of stadiums to the same competition - in this case, ONE RANDOM stadium will be selected for every home team that:
participates in that competition, BUT DOES NOT have individual stadium assigned in map_teams.txt file
Two stadiums assigned to EPL in map_competitions.txt - random selection in-game
IMPORTANT: by default, competition assignment would always take priority over team assignment in any game mode, but that can be easily configured within .lua script.
To override this default behavior, you can slightly modify StadiumServer.lua script itself - add/remove competition IDs in override_competitions table, thus defining more or less competitions where individual team assignments from map_teams.txt takes priority over competition assignment from map_competitions.txt
Default stadium server script already includes an exhaustive override_competitions table, which should cover all available exhibition, league and league-cup matches - so that you can keep individual stadiums for those teams that already have one in map_teams.txt, while all the other teams without individual stadium would get randomly selected stadium from map_competitions.txt
## Support for optional stadium to be used in final match of the competition only - again, pretty much self-explanatory. See map_competitions.txt file for more details
CAUTION: if multiple stadiums are assigned to a single competition and you want to use specific stadium for finals, then you must include stadium for final match IN EVERY stadium assignment
Spoiler: FA cup setup with 2 random stadiums used before final match and Konami's original Old Trafford for final match only
# Manual stadium selection via in-game overlay - manually selected stadium has highest priority and overrides any assignments made via map_*.txt files. IMPORTANT: Only stadiums explicitly assigned in either map_teams.txt or map_competitions.txt are available for manual selection!
# Exhibition mode behavior - stadium assignment logic is in-line with the usual game behavior:
IMPORTANT: Stadium server will be active in exhibition mode ONLY if you have selected one of the following:
"Home ground" setting in stadium menu or
"Random" setting in stadium menu or
Manual selection of stadium via sider overlay
This enables you to use any stadium from your .cpk pack and additional stadium server's stadiums side by side.
"Random" setting in exhibition mode is going to select stadium either from your .cpk pack or from stadium server's repository.
Complementing this, an additional lua table is available to be customized inside the script (teams_with_cpk_homegrounds table), to customize which teams should keep their .cpk+EDIT assigned home grounds (e.g. Barcelona -> Konami's Camp Nou, Team X -> Stadium X from your .cpk, etc.).
# Correct stadium previews and stadium names - displayed in game menus (where available, depending on game mode) and scoreboards
# More/less detailed level of logging - in config.ini file, property "detailed_logging" controls whether more info will be logged to sider log (value "1") or less info (value "0")
# Stadium customization via weather-conditions based AddOn system - allows easier creation and application of 3rd party mods to a specific GDB stadium (turf mods for specific stadium, gfx_mod, etc.)
# Stadium previews visible on overlay, when possible
1. No support for replay mode yet - if you're going to watch a saved replay of a match that has been played on custom stadium, you'll see black screen with adboards only during replay at best (perhaps it may also crash the game) - current version of sider does not support replay gallery!
2. adboards handling - by default, stadium server does not allow for custom adboards embedded within stadiums.
It works safely only with special blank adboards template (which should be used only to fully remove adboards from stadiums) and allows for supplying a custom version of config.xml database for adboards (to assign blank template to the stadium).
Custom adboard models, "baked" directly into stadium 3d model are neither safe nor meant to be used via stadium server - adboards available via global ad-boards system (.cpk files or sider's live.cpk root) should work well with stadiums from stadium server too!
3. IMPORTANT: cooperation with other .lua scripts that use "set_stadium" and "set_conditions" events - unfortunately, because of the way the stadiums are structured and handled by the game, it was necessary for StadiumServer.lua to use set_stadium event exclusively to force the game to use the exact stadium ID of the new stadium, in order to load all the files that belong to that stadium.
Another approach, which would not "steal" set_stadium event (i.e. trying to override the files of any stadium that the game would like to use) did not prove successful, because stadiums simply are not file-for-file compatible, causing various artifacts when trying to replace e.g. stadium using ID 016 with custom stadium using any other ID
Bottom-line - if you want StadiumServer to work, you must not give HIGHER PRIORITY to any other .lua script that also uses "set_stadium" event to change stadium_id (i.e. StadiumServer.lua must be above any other "lua.module=" lines for scripts that use set_stadium event too)
Using other scripts that control weather conditions and time of day - stadium server works together with @Baris's script "WeatherConditions.lua" - if weather conditions are NOT changed neither via stadium server itself (manual selection via ingame overlay) nor via cooperation with "WeatherConditions.lua" script, then you can still use 3rd party scripts that handle "set_conditions" event (but to be on the safe side of the story, place your set_conditions related 3rd party scripts below both StadiumServer.lua and WeatherConditions.lua in sider.ini