アーカイブ
カテゴリー
- linux (7)
- mc-server-list (1)
- programming (3)
- ReefServer (111)
- ReefServer-Docs (20)
- ReefServer-Gatya (8)
- ReefServer-GuideLine (1)
- ReefServer-Docs (20)
- 未分類 (7)
Minecraftサーバ開発・運営 Advent Calendar 2021の2日目の記事です
質問や構築中に詰まった場合はserver.mcbe.jpのDiscordに質問してみてください
その名のとおりサーバーを管理するためだけのパネルです
ワンクリックでサーバーを作成、起動、再起動、移行が出来る優れものなので絶対建てましょう
思ったより書く量が大きくなってしまったので前編、後編に分けさせてもらいます
この前編は管理パネルを立てるとこまでやります
後編はノードを設置して実際にサーバーを起動してみます
あとReefServerっていうマインクラフトサーバーを作ってます
ぜひ遊んでみてください
Discord ホームページ
サーバー管理パネルといってもマインクラフトは超人気ゲームなのでいくつか管理パネルが存在します
今回はpterodactylというパネルを建てることにします
理由はデザインが最強なのと一度使わせてもらったことがあるからです
今回使うサーバーはGoogle Cloudのe2-micro(無料)ですが実際サーバーを運営するとなるとネットワーク使用料で破産することがあるので気を付けてください
すでにサーバーを持ってる人は飛ばしてください
Google cloudでちゃちゃっと契約してきました
OSはubuntu20.04LTSです
あと、一番下にあるhttpとhttpsトラフィックを有効にしといてください
しばらく経つと一覧に表示されるのでクリック -> SSHをクリックすると簡単にサーバー接続できます
もちろんSSHクライアントを使っても接続出来ますが今回は省略します
管理パネルを建てるっていっても公式サイトの指示に従うだけなので簡単です
sudo apt update
sudo apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg
sudo LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
sudo add-apt-repository -y ppa:chris-lea/redis-server
sudo curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo apt update
sudo apt -y install php8.0 php8.0-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
sudo mkdir -p /var/www/pterodactyl && cd /var/www/pterodactyl
sudo curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
sudo tar -xzvf panel.tar.gz
sudo chmod -R 755 storage/* bootstrap/cache/
これでいったん必要な物のダウンロードは終了です
次はパネルのインストールをします
次はパネルのインストールをするといいましたが嘘です
データベースのセットアップをします
今回はmariadbというデータベースを使用します
必要なものはさっきインストールしたのでデータベースに潜ってユーザーとデータベースを作るだけです
sudo mysql
このコマンドを打つと画像のように今までと違った感じになるはずです
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'password';
CREATE DATABASE panel;
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
exit;
これでpanelという名前のデータベースとそれに自由にアクセスできるpterodactylというユーザーが作成できました
ローカルでしかログインできないユーザーですが念のためパスワードは難しいもの置き換えてください
さあやっとインストールする段階になりました
もうすぐです
cd /var/www/pterodactyl
sudo cp .env.example .env
sudo composer install --no-dev --optimize-autoloader
この時、画像のように本当にそのまま続けるか?
と聞いてくるのでそのままエンターを押すか、yes
と入力してあげましょう
ここから必要な情報を入力していくことのですが、ここに書いてるのはあくまで一例なので自分に合うように変えてみてください
sudo php artisan key:generate --force
sudo php artisan p:environment:setup
Egg Author Email: 自分のメールアドレス
Application URL: http://このサーバーのipアドレス
にしました
Application Timezone: Asia/Tokyo
Cache Driver: そのままエンター
Session Driver: そのままエンター
Queue Driver: そのままエンター
Enable UI based settings editor? (yes/no): そのままエンター
sudo php artisan p:environment:database
Database Host: そのままエンター
Database Port: そのままエンター
Database Name: そのままエンター
Database Username: そのままエンター
Database Password: password
sudo php artisan migrate --seed --force
sudo php artisan p:user:make
管理用のアカウントを作成します
Is this user an administrator? (yes/no): yes
Email Address: 自分のメールアドレス
Username: ree
First Name: R
Last Name: ee
Password: 難しいパスワード
sudo chown -R www-data:www-data /var/www/pterodactyl/*
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
最後にファイルを一つ作成し、中身を書く必要があります
今回はvimというエディターを使って書いていきます
sudo update-alternatives --config editor
まずvimというエディターを使うように設定します/usr/bin/vim.basic
と書かれているところの番号を選択します
今回は3でした
sudoedit /etc/systemd/system/pteroq.service
するとvimのエディター画面が出てくるのでキーボードのINSERT
キーを押して入力モードにします
そして次の内容をコピペします
# Pterodactyl Queue Worker File
# ----------------------------------
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
# On some systems the user and group might be different.
# Some systems use `apache` or `nginx` as the user and group.
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
その後ESC
キーを押して元の状態に戻してから:wq
とキーボードで入力して保存してください
sudo systemctl enable --now pteroq.service
そして上のコマンドで作成したファイルを登録すれば管理パネル自体のインストールは完了です
お疲れ様でした
ウェブ構築といってもファイルを少し書き込むだけなので簡単です
今回はめんどくさいのでsslなしで構築します
まずサーバーのipアドレスにアクセスしてみて画像のようなサイトが出るか確認してください
sudoedit /etc/nginx/conf.d/panel.conf
そして次の内容をコピペして保存します
server {
listen 80;
server_name default_server;
root /var/www/pterodactyl/public;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/pterodactyl.app-error.log error;
# allow larger file uploads and longer script runtimes
client_max_body_size 100m;
client_body_timeout 120s;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
location ~ /\.ht {
deny all;
}
}
そしてその変更を反映させます
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -s reload
すると!!!!!!!!!!!!
なんと!!!!!!!!!!!!!!!!!!!
ウェブにアクセス出来るようになりました
やったーーーーーーーーーーーーーーーーーーーーーー
前編はここまで
Comments are closed.
最後のweb構築で
sudo rm /etc/nginx/sites-enabled/default
を実行するとnginxがエラー吐く;;