- Node.js LTS installed
- (optional) MySQL or PostgreSQL database
- Windows, Linux or MacOS host
- Clone the repository or download the files from the
main
branch - Run
npm install
- Copy
.env.example
to.env
and fill out all necess 9874 ary information in the.env
file. - Run
npm start
- Run
chmod -R 777 tracks
- Run
chmod -R 777 userdata
- Run
cp docker-compose.yml.example docker-compose.yml
- Edit
docker-compose.yml
- Run
docker compose up -d
See documentation for more info!
Minicontrol migrate tool uses in-memory sqlite database to process the MySQL data. This means not all MySQL features works, its adviced to remove transactions and creating indexes from the .sql dumpfile. With your favourite text editor, remove these lines, if exists:
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
-- keep everything between
-- and remove ending COMMIT:
COMMIT;
You also need to remove all ALTER TABLE
instructions from the .sql dump
Example:
-- remove ALTER TABLE until semicolon ;
ALTER TABLE `rs_times`
ADD PRIMARY KEY (`ID`),
ADD KEY `playerID` (`playerID`,`challengeID`),
ADD KEY `challengeID` (`challengeID`),
ADD KEY `score` (`score`);
- Export your XAseco database with
mysqldump -u root -p databasename > xaseco.sql
- Move
xaseco.sql
to the main folder of MINIcontrol - Run in MINIControl folder:
tsx --env-file=.env xaseco.ts xaseco.sql
- Start MINIcontrol
- Export your PyPlanet database with
mysqldump -u root -p databasename > pyplanet.sql
- Move
pyplanet.sql
to the main folder of MINIcontrol - Run in MINIControl folder:
tsx --env-file=.env pyplanet.ts pyplanet.sql
- Start MINIcontrol
- Start trakman from docker
- Run in MINIControl folder:
tsx --env-file=.env trakman.ts
- Start MINIcontrol
See the documentation in documentation/devs
to read more about the core concept of MINIcontrol and how plugins work.
If you want to contribute changes or plugins to MINIcontrol, please open up an Issue
first before you start working on things, so we can discuss the details of implementation, etc.
We will not respond to random pull requests.
- Build a local docker image:
docker build -t minicontrol:test -f docker/Dockerfile .