SOURCE:

What is it?
- Filter/Proxy framework written in ES6+ JavaScript using BabelJS and NodeJS v14+.
- This is designed to definitely be the easiest way of getting your own edits/custom stuff running.
- Connection is as stable and smooth like there "would be no proxy" when running in production.
- GatewayServer, AgentServer, DownloadServer filters with configuration.
- IP:PORT redirection system for multiple DownloadServer, AgentServer.
- Unlimited connections (RAM, CPU is your limit) - very low usage.
- Special API designed to allow easily implementing new back-end features or packet handles.
- Session detection (online/offline), updating in database, recording users to rows.
- Web APIs providing full CRUD over entire VSRO database.
- Multiple pre-built controllers to help getting you started creating new content straight away.
- Some fun stuff like modified weather packet (see src/controllers).
Basic Architecture
Prerequesities
- Extract data folder from
to the project root (.bin files are for IP geolocation and Proxy).- Inject HWID.dll from HWID_DLL into your client (comes from isolines SR_Proxy).
- NodeJS LTS:

- Silkroad Online game client & server (project is aligned with VSRO188).
- Yarn package manager: npm i -g yarn
Setup
- Install rpm dependencies with yarn --ignore-scripts.
- Setup src/config/AgentServer.js, src/config/GatewayServer.js and src/config/DownloadServer.js accordingly or use ENV.
- Rename src/config/Database.js.example to Database.js and configure accordingly.
- Run yarn install:db to create (or drop & create again) the initial database.
Launch in development mode
GatewayServer yarn dev:GatewayServer
AgentServer yarn dev:AgentServer
DownloadServer yarn dev
Launch in production mode
- GatewayServer yarn GatewayServer
- AgentServer yarn AgentServer
- DownloadServer yarn DownloadServer
Other launching options:
- See .bat or .sh files for use-cases.
Create optimised production build: yarn build
What else?
- packet docs

- silkroad-security

- SequelizeJS (for MSSQL)

Contributions?
- For bug reporting use issues.
- For code contributions do a pull request.
Built with ♡ by Artuuro @







