28 stable releases
1.8.0 | Nov 24, 2022 |
---|---|
1.6.0 | Jul 5, 2022 |
1.5.3 | Mar 18, 2022 |
1.4.13 | Dec 25, 2021 |
0.0.0-canary | Oct 25, 2021 |
#1982 in Command line utilities
662 stars & 10 watchers
99KB
2.5K
SLoC
Odin
Odin is a CLI tool utilized for installing, starting, and stopping [Valheim] servers
Odin Specific Environment Variables
These are set automatically by Odin; you DO NOT need to set these and only mess with them if you Know what you are doing.
Variable | Default | Required | Description |
---|---|---|---|
DEBUG_MODE | 0 |
FALSE | Set to 1 if you want a noisy output and to see what Odin is doing. |
ODIN_CONFIG_FILE | config.json |
FALSE | This file stores start parameters to restart the instance, change if you run multiple container instances on the same host |
ODIN_WORKING_DIR | $PWD |
FALSE | Sets the directory you wish to run odin commands in and can be used to set where valheim is managed from. |
Gotchas
- Odin relies on Rust. Please install Rust
- Odin also assumes that you have SteamCMD already installed. Install instructions for SteamCMD.
- If you have the proper build tools installed you should be able to run Odin on any system.
- Current Supported Architecture: Unix & Linux based systems.
Setup
Make sure you have build essentials installed before you install this crate
- Install Rust & git
- Clone the repo
cargo install cargo-make
makers -e production release
chmod +x ./target/debug/odin
- Copy
./target/debug/odin
to/usr/local/bin
Usage
Install Valheim
odin install
Start Valheim
odin start
Stop Valheim
odin stop
Status
Local Server
odin status
Remote Server
Replace the xx.xx.xx.xx
with your server IP and query-port
with the PORT
variable +1 (ex: if 2456
use 2457
which is the steam query port.)
odin status --address "xx.xx.xx.xx:query-port"
Systemd service
-
With the root user or using sudo run
nano /etc/systemd/system/valheim.service
-
Copy and paste the text below
[Unit] Description=Valheim Server After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=1 User=steam Environment="PORT=2456" 'NAME="Valheim Docker"' "WORLD=Dedicated" "PUBLIC=1" "PASSWORD=changeme" WorkingDirectory=/home/steam/valheim ExecStartPre=/usr/bin/env /usr/local/bin/odin configure ExecStart=/usr/bin/env /usr/local/bin/odin start ExecStop=/usr/bin/env /usr/local/bin/odin stop [Install] WantedBy=multi-user.target
-
Make any necessary changes to the service to fit your needs.
-
Next save the file and start the service.
sudo systemctl start valheim
-
To have the server start on server launch, run:
sudo systemctl enable valheim
Dependencies
~18–34MB
~567K SLoC