ArkView is a client side plugin for the Arkon bot that allows you to view your map data in real time. It's a simple client that runs on your server and listens for requests from Arkon. It then sends the data back to Arkon for you to view.
ArkView only processes one server per instance, so if you are running multiple maps on a single server you will need multiple instances of ArkView running.
The client uses a config.ini
file to store the configuration. The file is created when you run the client for the first time. You can also create it manually by copying the default_config.ini
file from the repo and renaming it to config.ini
.
[Settings]
# Port for the API to listen on (TCP)
# Make sure to forward this port in your router and allow it as TCP in your firewall
Port = 8000
# Direct path to the .ark map file
MapFilePath = path/to/your/map.ark
# (Optional): Direct path to the solecluster folder
ClusterFolderPath = path/to/your/solecluster
# (Optional): Direct path to BanList.txt file
BanListFile = path/to/your/BanList.txt
# Process priority(Windows-only): LOW, BELOWNORMAL, NORMAL, ABOVENORMAL, HIGH
Priority = LOW
# Number of threads to use for processing (if the server's cpu has less cores than this setting, it will default to the server's cpu count)
Threads = 2
# If true, api will only be accessible locally (If running as python, this will cause the client to fail)
Debug = False
# (Optional): Set a sentry DSN for error tracking
DSN =
# (Optional): API Key for authentication
APIKey =
You will need windows with the latest .NET v6.0 framework to run this client
- Get .NET Framework Here
- Download the latest client from Releases
- Run the .exe anywhere you want, it will make a
config.ini
file that you can set your map and cluster path in - Set the port you want the client to listen on and forward it in your router
This assumes you have a basic understanding of Linux and how to use the terminal. Support for running on Linux is experimental and may not work as expected. As such I cannot provide support for this method.
Run the following commands to install the required dependencies
# Update existing packages
sudo apt update && sudo apt upgrade -y
# Install the .NET 6.0 SDK and runtime
sudo apt -y install dotnet-sdk-6.0
sudo apt -y install aspnetcore-runtime-6.0
# Install python and essential dependencies
sudo apt -y install python3.11 python3.11-dev python3.11-venv git build-essential nano
# Create a virtual environment
python3.11 -m venv ~/arkenv
# Activate the virtual environment
source ~/arkenv/bin/activate
# Clone the repository and cd into it
git clone https://github.com/vertyco/arkview.git
cd arkview
# Install the required python packages
pip install -r requirements.txt
# Edit the config.ini file to your liking
cp default_config.ini config.ini
sudo nano config.ini # Save and exit with ctrl + O; enter; ctrl + X
# Run the client
python3.11 main.py
First, your Linux username
can be fetched with the following command:
whoami
Next, your python path can be fetched with the following commands:
source ~/arkenv/bin/activate
/usr/bin/which python
Then create the new service file:
sudo nano /etc/systemd/system/arkview.service
Paste the following in the file, and replace all instances of username
with the Linux username you retrieved above, and path
with the python path you retrieved above.
[Unit]
Description=arkview
After=multi-user.target
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=path -O -m main.py --no-prompt
User=username
Group=username
Type=idle
Restart=on-abnormal
RestartSec=15
RestartForceExitStatus=1
RestartForceExitStatus=26
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target
Save and exit ctrl + O; enter; ctrl + x
# Starting the service
sudo systemctl start arkview
# Enabling the service
sudo systemctl enable arkview
# Stopping the service
sudo systemctl stop arkview
After you have the client running, you can add it to Arkon by doing the following:
- Type
+viewservers
to open the server menu, this assumes you've already added your cluster and servers to Arkon. - Select the cluster you want and click the
Servers
button. - Click the
ArkView
button and a modal will pop up. - Enter the port of the client you're running, and click
Submit
(IP is usually not needed as it uses your server's IP)
sudo apt update
sudo apt install samba
sudo nano /etc/samba/smb.conf
# Scroll to the bottom of the file and add a new share definition. For example:
[ShareName]
path = /path/to/your/directory
browseable = yes
writable = yes
guest ok = yes
create mask = 0777
directory mask = 0777
This plugin wouldn't be possible without miragedmuk's work on his fork of the old Ark savegame parser, lots of love! https://github.com/miragedmuk/ASV
If you have any suggestions, or found any bugs, please ping me in Discord (Vertyco#0117) or open an issue on my repo!
If you would like to contribute, please talk to me on Discord first about your ideas before opening a PR.