Skip to main content
This page documents the configuration files used by the Episode 6 game service. All configuration files are expected to be in the PSM_Client/Bin/Data directory.

BattleFieldMoveInfo.ini

Configures instant battlefield zone movement. The move will be instant, like the official server. Certain debuffs will prevent movement. Moving to the same zone is not allowed.
MAP_NO
integer
required
Unique map identifier for each battlefield zone. Each MAP_NO key must have a unique value.
Level Range
string
required
The level range allowed for the battlefield. Must be unique across all battlefield zones.

Supported Clients

LocalePatchSupported
ES171
PT182
PT189

OnlineTimePrize.ini

Configures the keep-alive reward system. Progress is account-wide. The progress of the current item will reset if a character leaves the game world.
The client expects to receive exactly 20 item units.
Minutes
integer
required
Time in minutes required to receive the reward item.
ItemID
integer
required
The ID of the item to award.

Timeout Calculation

The client adds 15000 ticks to the timeout:
auto minutes = rewardItem[index].minutes;
auto timeout = GetTickCount() + ((minutes * 60000) + 15000);

System Messages

2044    "The keep-alive event has ended."
7188    "Could not receive your reward because you do not have space in your inventory."
7189    "Bronze medal received"
7190    "Silver medal received"
7191    "Gold medal received"
7192    "Recurring player item received"

Supported Clients

LocalePatchSupported
ES171
PT182
PT189

ChaoticSquare.ini

Configures chaotic square (item synthesis) mechanics including fortune money and crafting hammers.

Fortune Money

FortuneMoney
integer
default:"100000000"
Gold amount that increases success chance. The value should be nonzero and evenly divisible by 100. The chance of success will be increased by 1 percent per the whole value given (can be fractional) and will be limited to 5 percent.

Crafting Hammers

The ReqVg value is the added chance of success. The library will multiply the value by 100.
ItemIDEffectReqVgAdded Success Chance
10207410255%
1020751021010%
Free Combination feature will not be implemented.

SetItem.ini

Configures item synergy bonuses (set items). The client expects SetItem.SData to be encrypted.

Server Configuration

The Drop field in the Items table is the ID of the item set:
USE PS_GameDefs
SELECT ItemName, ItemID, [Drop] FROM Items WHERE [Drop]=64
Example Output:
ItemNameItemIDDrop
Bright Emperor’s Helmet7200364
Bright Emperor’s Armor7300364
Bright Emperor’s Pants7400364
Bright Emperor’s Gauntlet7600364
Bright Emperor’s Boots7700364

Client Display

Bonus descriptions appear in the following format:
" Sinergia [5]\n- LUC +20\n- DEX +50\n- STR +70"

Machine Code Modification

Original code limited Drop values to 6 or less. The instruction at 004DB0E2 has been removed to support vanilla configuration:
004DB0DA  CMP WORD PTR SS:[ESP+70],6
004DB0E0  JBE SHORT ps_game.004DB0E6
004DB0E2  NOP
004DB0E3  NOP
004DB0E4  NOP
004DB0E5  NOP
It is unknown if this change causes issues elsewhere in the code.

Map.ini

Configures map properties including weather, map type, and town scroll functionality.

Map Configuration

MapType
string
required
The type of map. Values include F (Field), etc.
WeatherState
integer
default:"0"
Initial weather state for the map.
WeatherRate
integer
default:"10"
Weather change rate.
WeatherPower
integer
default:"1"
Weather effect intensity.
WeatherDelay
integer
default:"10"
Delay between weather changes.
WeatherNoneDelay
integer
default:"60"
Delay when no weather is active.
TownMoveScroll
integer
default:"1"
Enables (1) or disables (0) town move scroll functionality for this zone.

Example Configuration

[SET_ZONE_0]
MapType          = F
WeatherState     = 0
WeatherRate      = 10
WeatherPower     = 1
WeatherDelay     = 10
WeatherNoneDelay = 60
TownMoveScroll   = 0

Town Move Scrolls

The library reads TownMoveScroll keys from Map.ini to determine whether town scroll movement is enabled. The move will be instant, like the official server. Certain debuffs will prevent movement. The library uses NPC data to determine teleport locations. The item ReqVg value is the NPC identifier.
ItemIDEffectReqVgNPC ID
101102104111111
101103104112112
101104104101101
101105104102102
101106104103103
101107104104104
101108104105105
101109104106106

Build docs developers (and LLMs) love