An attempt at creating a custom PSO2 server.
- Global: 6.1253.3 (Steam Manifest ID: 4887283973834886137)
- Vita: 6.1001.2
- Get the binaries:
- Option 1: complied master branch
- Go to GitHub actions
- Select the latest workflow
- Download the
dataand thepso2serverfor your architecture
- Option 2: complie yourself
- Install rustc (at least 1.75) if not installed
- Clone the repository (preferably
developbranch):git clone --branch=develop https://github.com/PhantasyServer/phantasyserver.git - Compile the project:
cargo build --release - Compile server data:
cargo run --bin=data_compiler --release data - You'll find your binaries under
target/release
- Copy the
master_ship.tomlandship.tomlconfig files to the directory with the binaries - Enable auto ship registration by setting
registration_enabled = truein themaster_ship.toml - Set the
master_shipkey in theship.tomlconfig to the IP address of the master ship (can be127.0.0.1, but notlocalhostdue to IPv6) - Start the
master_shipthenpso2ship_server
- Rename or remove
steam_api64.dllfrom the game folder - Get the injector (download latest release and follow steps 3-5 on the readme)
- Modify the injector config to point to your master ship
replace_address = true
auto_key_fetch = true
[[addresses]]
old = "gs0100.westus2.cloudapp.azure.com"
new = "{master ship ip}"
[[addresses]]
old = "gs0200.westus2.cloudapp.azure.com"
new = "{master ship ip}"
[[addresses]]
old = "gs0300.westus2.cloudapp.azure.com"
new = "{master ship ip}"
[[addresses]]
old = "gs0400.westus2.cloudapp.azure.com"
new = "{master ship ip}"
[[addresses]]
old = "gs0500.westus2.cloudapp.azure.com"
new = "{master ship ip}"
[[addresses]]
old = "gs0600.westus2.cloudapp.azure.com"
new = "{master ship ip}"
Now you have two options:
- Option a: Using the injector
- Copy the 6.30 patch to any location on Vita
- Using VitaShell and
Open decryptedoption copy theeboot.binto therePatch/PCSG00141/folder - Install the injector
- Option b: Manual way
- Copy the 6.30 patch to the
patchfolder on Vita - Using FAGDec decrypt the
eboot.binto the ELF file - Using VitaShell decrypt the
eboot.bin - Transform the server's public key to the compatible format:
openssl rsa -in keypair.pem -outform MS\ PUBLICKEYBLOB -pubout -out publickey.blob - Find and replace the RSA key in the
eboot.bin.elfusing any HEX editor (search for0x06, 0x02, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x52, 0x53, 0x41, 0x31) - Using
vita-elf-injectrecreate the bin file:vita-elf-inject eboot.bin.elf eboot.bin - Replace the 6.30 patch with 6.31 patch on the Vita
- Place the new
eboot.binin therePatch/PCSG00141/folder