3.2 KiB
ARTEMiS - Docker Guide
This step-by-step guide assumes that you are running docker on Ubuntu 22.04.3 LTS with prior experience in Docker and Linux.
Setup
-
Clone this code repository to a local folder
-
Create folders core, titles, config, log, cert in the nearly created artemis directory
-
Edit 'docker-compose.yml' file and make the following changes:
- Set AimeDB key value for
CFG_CORE_AIMEDB_KEY
variable; find it yourself - Change database password
MYSQL_PASSWORD
variable; this will be used later for the app to connect to the database - Change
MYSQL_ROOT_PASSWORD
variable - Change
PMA_PASSWORD
variable; this is used for the database web-admin site
- Set AimeDB key value for
-
Rename/copy 'example_config' folder to 'config'
-
Edit 'config/core.yaml' file and make the following changes:
- Change server
listen_address
value to0.0.0.0
- Change title
hostname
value to your server's local IP (ex.192.168.xxx.xxx
) - Change database
host
value toma.db
- Change database
password
value to the same value asMYSQL_PASSWORD
from the 'docker-compose.yml' file - Change database
memcached_host
value toma.memcached
- Change aimedb
key
value to the AimeDB key value - Change mucha
hostname
value to0.0.0.0
- Change server
-
Copy data folders (bin and options) for whatever game you want this server to support, into the artemis directory
-
Edit 'Dockerfile' and be sure to add the data folders for the game you just added:
ADD yourFolder yourFolder
-
Edit the file
entrypoint.sh
folder and add the correct importer commands after the linepython3 dbutils.py create
. See Games documentation page for command examples.
Run
Start the application
docker-compose up
Troubleshooting
Game does not connect to ARTEMiS Allnet server
Double-check your core.yaml, the listen_address is most likely either not binded to the proper IP or the port is not opened
Game does not connect to Title Server
- Verify that your core.yaml is setup properly for both the server listen_address and title hostname
- Boot your game and verify that an AllNet response does show and if it does, attempt to open the URI that is shown under a browser such as Edge, Chrome & Firefox.
- If a page is shown, the server is working properly and if it doesn't, double check your port forwarding and also that you have entered the proper local IP under the Title hostname in core.yaml.
Unhandled command under AimeDB
Double check your AimeDB key under core.yaml, it is incorrect.
Memcache failed, error 3
-
Make sure memcached is properly installed and running. You can check the status of the service using the following command:
sudo systemctl status memcached
-
If it is failing, double check the /etc/memcached.conf file, it may have duplicated arguments like the -I and -m
-
If it is still not working afterward, you can proceed with a workaround by manually editing the /core/data/cache.py file.
# Make memcache optional try: has_mc = False except ModuleNotFoundError: has_mc = False