A Demon's Souls server emulator implemented in Go and using SQLite for persistent data storage.
This is heavily based upon the work done by ymgve in the desse project. This was the first working version of a Demon's Souls server after the official shutdown. We're in the debt of the packet analysis and efforts from ymgve.
This server implements the core feature set for Demon's Souls:
- Login
- Character creation
- World tendency
- Blood messages
- Wandering ghosts
- Blood stains
- Summons
It should be noted that the full summon/multiplayer flow is not handled by this server and relies on the Sony Playstation Network matchmaking system. There is every chance they'll drop support for PS3 Demon's Souls at some point.
- Go 1.13+
$ go get -u github.com/danmrichards/dessego/cmd/server/...
Clone this repo and build the binary:
$ make build
Usage of ./bin/dessego-linux-amd64:
-seed
Seed database tables with legacy data
To start with you'll need some sort of DNS proxy where you can configure the following URLs to route to your dessego server:
ds-eu-c.scej-online.jp
ds-eu-g.scej-online.jp
c.demons-souls.com
g.demons-souls.com
cmnap.scej-online.jp
demons-souls.scej-online.jp
Then you can follow these steps:
- On your PS3 Navigate to the following menu:
Settings > Network > Internet Connection Settings > Custom > Enter Manually -> Scroll to DNS Section -> Manual
- Set Primary DNS to the host/port of your DNS proxy
First ensure you have RPCS3 installed and Demon's Souls is working (figure that one out yourselves!)
- Open RPCS3 & Create a custom configuration of your game, proceed into the Network settings and set the following options as said:
- Set Network Status to Connected
- Set PSN Status to RPCN
- Set DNS to
8.8.8.8
- Set IP/Host Switch to
ds-eu-c.scej-online.jp=<DESSEGO_IP>&&ds-eu-g.scej-online.jp=<DESSEGO_IP>&&c.demons-souls.com=<DESSEGO_IP>&&g.demons-souls.com=<DESSEGO_IP>&&cmnap.scej-online.jp=<DESSEGO_IP>&&demons-souls.scej-online.jp=<DESSEGO_IP>
whereDESSEGO_IP
is the host/port where you're running dessego. - Save Configuration
- Go to RPCS3 main menu, proceed to 'Configuration', then 'RPCN'
- Set Host to
np.rpcs3.net
- Set NPID to your preferred username
- Set Password to your preferred password for RPCN
- Click Create Account
- You will be asked to enter you email, to which you will receive a email with a token inside it
- In the Token Field, enter the token you received in the email.
- Save, and Start the game