ショボいVPSでARK: Survival Evolvedのサーバを動かす
Overview
ARK: Survival Evolvedのサーバに最低限必要なスペックは次のとおりです.
CPU | RAM | SSD | Network |
---|---|---|---|
Core i5 2.5GHz | 8GB | 100GB | 100Mbps |
転送量で課金されるのはたまらないのでVPSで相場を確認しましょう.
参考: DigitalOcean
参考: さくらのVPS
...なるほど
Description
ARK本体がセールで1000円で買えるのにサーバに毎月何千円も出してられないので, マイクラのサーバ用に今契約してるショボいVPSで起動してみます.
CPU | RAM | HDD | Network |
---|---|---|---|
2Core | 2GB | 200GB | 100Mbps |
スペックはこんな感じです, OSはUbuntu18.04で
料金は月1500円弱だったと思います.
Settings
とはいえ, 上のスペックで到底ARKサーバが動くわけがありません(最低6GBメモリがないと起動すらしませんでした).
なので, swapfileを作ってスワップ領域を割り当て, 足りない物理メモリをブーストしてあげようと言う魂胆です.
swapfile
$ sudo dd if=/dev/zero of=/var/swapfile bs=1M count=6144
$ sudo chmod 600 /var/swapfile
$ sudo mkswap /var/swapfile
$ sudo swapon /var/swapfile
こんな感じでスワップファイルを作ってあげるといいです.
VPSを再起動するたびにswap領域のマウントが外れてしまうので, 起動時にマウントしてくれるような設定を書いておきましょう(OSによって違うのでここには書いていません)
次の記事が参考になります.
Ubuntu Server 18.04 LTS スワップファイル設定
Docker
ゲームのサーバなんかインストールして環境を汚したくないので, Dockerでやります.
ありがたいことに凄い人がdockerイメージを作ってくれているので, こちらをありがたく使わせていただきます.
https://github.com/TuRz4m/Ark-docker
docker-compose.yml
version: '3.7'
services:
ark:
image: turzam/ark
container_name: ark_server
ports:
- "7778:7778"
- "7778:7778/udp"
- "27015:27015"
- "27015:27015/udp"
restart: always
volumes:
- ark:/ark
environment:
SESSIONNAME: ark_docker
ADMINPASSWORD: {バレにくくてカッチョいいパスワード}
SERVERPASSWORD: {サーバに入る人が使うダサいパスワード}
TZ: Asia/Tokyo
volumes:
ark:
run
$ docker-compose up
あとは通常通り起動してあげればOKです.
起動に10分くらいかかるので気長に待ちましょう.
HDDなのでどうかな〜と思っていましたが5人でプレイした感じほとんどラグも起こらずに, ストレスなく遊べました.
それでは, よいARKライフを!
Edit Configfiles
上の例では, arkというvolumeを作成してその上にデータがマウントされています.
そのため, コンフィグファイルをいじりたい場合には起動中のコンテナに接続してファイルを編集します.
$ docker exec -it ark_server /bin/bash
などで接続して, Game.iniやGameUserSettings.iniを編集しましょう.
Using Custom Domains
おまけ
独自ドメインを持っていて, サブドメイン運用したい場合はこんな感じにするといいです.
前に書いた次の記事が参考になると思います.
Docker サーバ管理 なるべく楽に サブドメインありhttpsあり
nginx-proxy/docker-compose.yml
version: "2"
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
- /etc/nginx/vhost.d
- /usr/share/nginx/html
restart: always
networks:
- shared
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./certs:/etc/nginx/certs:rw
volumes_from:
- nginx-proxy
restart: always
networks:
- shared
networks:
shared:
external: true
ark/docker-compose.yml
version: '3.7'
services:
ark:
image: turzam/ark
container_name: ark_server
ports:
- "7778:7778"
- "7778:7778/udp"
- "27015:27015"
- "27015:27015/udp"
restart: always
volumes:
- ark:/ark
environment:
VIRTUAL_PORT: 27015
VIRTUAL_HOST: {自分のサブドメイン 例: ark.example.com}
LETSENCRYPT_HOST: {自分のサブドメイン 例: ark.example.com}
LETSENCRYPT_EMAIL: {自分のメアド 例: info@example.com}
SESSIONNAME: ark_server
ADMINPASSWORD: {バレにくくてカッチョいいパスワード}
SERVERPASSWORD: {サーバに入る人が使うダサいパスワード}
TZ: Asia/Tokyo
networks:
default:
external:
name: shared
volumes:
ark:
Author And Source
この問題について(ショボいVPSでARK: Survival Evolvedのサーバを動かす), 我々は、より多くの情報をここで見つけました https://qiita.com/sumeshi/items/a8159437304ce03a984f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .