1
0
forked from Hay1tsme/artemis
artemis/docs/INSTALL_WINDOWS.md

4.2 KiB

Installing ARTEMiS on Windows

This guide assumes a fresh install of Windows 10. Please be aware that due to the lack of memcached and the general woes of running a server on Windows, this is only recommended for local setups or small hosting-for-the-homies type servers.

Install prerequisites

Python

  • Python versions from 3.8 to 3.11 work with ARTEMiS. We recommend 3.11.
  • Install using whichever options best suit your environment, making sure that the Python executable is on path, such that you can open CMD, type python --version and see the version of Python you have installed.
  • If you already have a working version of Python installed, skip this step.

MariaDB

Git

  • While technically optional, it is strongly recommended to obtain ARTEMiS via git clone instead of just downloading it.
  • It is recommended to use Notepad++ as the default editor (if you have it installed), other than that, the default settings should be fine.

Optional: GUI database viewer

  • Having a GUI database editor is recommended but not required.
  • MariaDB will try to install HeidiSQL, but we recommend DBeaver.

Obtain ARTEMiS

  • git clone https://gitea.tendokyu.moe/Hay1tsme/artemis.git via cmd in whatever folder you want to install ARTEMiS.
    • You can switch to the develop branch for latest changes via git checkout develop.

Via http download

  • Download here.
    • Develop branch can be found here.
  • Extract the zip file somewhere.

Database setup

  • Log into your server as root, either via GUI (recommended) or CMD
  • Create the aime user, replace <password> with a password you choose. Remember it!
CREATE USER 'aime'@'localhost' IDENTIFIED BY '<password>';
CREATE DATABASE aime;
GRANT Alter,Create,Delete,Drop,Index,Insert,References,Select,Update ON aime.* TO 'aime'@'localhost';
  • If you create the database via a GUI, make sure you grant all the above permissions.

Create a venv

  • Python virtual environments are a good way to manage packages and make dealing with python and pip easier.
  • python -m pip venv venv
  • venv\Scripts\activate.bat to activate the venv whenever you need to interact with ARTEMiS.
  • All the rest of the steps assume your venv is activated.

Install pip modules

  • pip install -r requirements.txt

Setup configuration

  • Create a new config folder and copy the files in example_config over.
  • edit core.yaml
    • Put the password you created for the aime user into the database section.
    • Put in the aimedb key (YOU DO NOT GENERATE THIS KEY, FIND IT SOMEWHERE).
    • Set your hostname to be whatever hostname or IP address games can reach your server at (many games reject localhost and 127.0.0.1).
    • Optional: generate base64-encoded secrets for aimedb and frontend using something like openssl rand -base64 64. It is advised to make all secrets different.
    • See config.md for a full list of options.
  • edit idz.yaml
    • If you don't plan on anyone using your server to play Initial D Zero, it is best to disable it to cut down on console spam on boot.
  • Edit other game yamls
    • Add keys, set hostnames, ports, etc. Specific settings will depend on the game. See game_specific_info.

Create Database Tables

  • python dbutils.py create

Firewall

  • If you're planning on serving games not on your PC, open at least ports 80, 8443, and 22345 in windows firewall
    • Also set listen_address to either your local IP to serve on your LAN, or 0.0.0.0 for all interfaces, to accept connections from other places.

Start ARTEMiS

  • python index.py