A web-based database GUI and control panel for rAthena.
This is a pet project of mine, so it contains a lot of experimental code that I wrote for fun and practice and that would be inadvisable to use in a professional project.
Here's a list of what's experimental:
Everything else however is pretty much industry standard.
To run RACP you will need the following software installed on your machine:
yarn install
yarn api:dev
to start the api in dev mode.yarn app:dev
to start the app in dev mode.http://localhost:8080/
in your browser.yarn test:unit
to run the unit tests (add --watch
to keep the runner active).cypress open
to run open the E2E test development tool..env.local
in the project root folder<path>
with the absolute path to your rAthena folder:rAthenaPath=<path>
All development happens in branches. The main
branch gets deployed to the demo site listed above.
No branch is allowed to merge unless all tests pass.
All major features should be covered by E2E tests. As for unit tests, they are not required, but are encouraged for more complex units.
This is a fairly standard React + Express.js application, so you can use the provided scripts to manually manage a production deployment if you have the technical experience to do so:
.env.local
file in the project root folder with your desired settings (see below)yarn install
to install latest dependenciesyarn db:deploy
to deploy database migrationsyarn build
to build both the API and app, or yarn (api|app):build
to build one.yarn serve
to serve both the API and app, or yarn (api|app):serve
to serve one.yarn serve
you can use PM2 for better stability and monitoring: pm2 restart ecosystem.config.json
This .env.local
configuration will work for most users:
NODE_ENV=production
reactRefresh=false
hostname=<your servers public hostname>
apiPort=<your desired port for the api>
apiBaseUrl="//<hostname>/<apiPort>"
appPort=<your desired port for the app>
rAthenaPath="<path to your rAthena folder>"
jwtSecret=<your secret>
You can see which configuration options are available:
yarn api:serve --help
.env
variable in webpack.config.ts.Once you have RACP running in production, you will need to populate it with data for the best user experience. If you do not do this things like item descriptions, monster and map images, etc. will not be available.
To do this, simply sign in to your admin account and go to the Assets page and use the asset uploader. Additional instructions are available on the page.
This information is intended for developers of RACP. None of this is relevant if you are simply forking/cloning RACP and running it for your server as-is.
yarn codegen:rathena
. Use this command and commit the changes to keep the knex bindings up to date whenever bumping the rAthena version.