高火力で炒めるよ!

攻撃力特化キャラ好きな人がオンラインゲームについて書いています。

Ubuntu 14.04でマインクラフト&TeamSpeak3用サーバー

time 2015/09/23

Ubuntu 14.04でマインクラフト&TeamSpeak3用サーバー 少し前に身内向けのマインクラフトサーバーとかTeamSpeak3 サーバーを立ち上げて運用していたけど
シルバーウィーク中にサーバーを色々いじってたら起動しなくなり再インストールする羽目になった。
結構面倒だったので、今後の為に自分用のメモ感覚で書いておきます。

ポート開放とかドメインの設定は半年くらい前にやった内容なので、
うろ覚えの部分も多いです。

sponsored link

はじめに

個人的なメモも兼ねて書いているので、この記事の内容を元にインストール等して何か不具合等が出ても全て自己責任でお願いします。

ポート開放

PR-400MIの設定画面
※v6プラスとか知らなかったので苦労した!

NTTのルーターは「PR-400MI」。
ブラウザで192.168.1.1と入力してルーターにアクセスし、「静的IPマスカレード設定」からポートの設定を行う。

型式でググってマニュアルを見たんだけど、実際に表示されている項目が少なく、
制限がかかっている感じになっていて「静的IPマスカレード設定」が無い。
なんかおかしいなーっと思いルーターの初期化をしたところ、一瞬設定項目が表示されるがすぐ消えてしまう。
原因がさっぱり分からないので、NTT東日本に電話して聞いたら
IPv6の接続になると「静的IPマスカレード設定」とかその辺が消えるらしい。
で、IPv6を使用する「v6プラス」というサービスはプロバイダ側で設定するらしく、
@niftyで契約していたので@nifty側から「v6プラス」を解除した。

解除は1日ぐらいで完了し、「静的IPマスカレード設定」が表示されるようになった。

※「v6プラス」を解除後、オンラインゲームをしている時に
極稀に切断されるようになりました。
(v6プラスの時は回線の問題で落ちることは1度も無かった)

サーバーPCの選定

Shuttle  XS36VL
身内だけに公開するので自宅サーバーにした。

サーバーPCのハード構成は、
  • Shuttle XS36VL(ベアボーンキット)
  • SSD:100GB
  • メモリ:4GB
ベアボーンキットのShuttle XS36VLはオークションで10500円で購入。
64bitに対応していないので非力だけど、メモリ4GBも一緒に付いていて超お得だった。
SSDはメインPCを500GBに変えて余っていたのを流用。

マインクラフトで誰かがマップを広げてると巻き戻りがよく発生するけど
負荷のかかることをしてなければ建築等は問題なく行える感じ。
夏の間もつけっぱなしだったけど熱暴走はせず稼動してた。
大体4~5人で遊ぶには十分なスペックです。

DiCEとドメインの設定

プライベートIPなのでしょっちゅうIPアドレスが変わるので、
DDNSを使って運用することにした。
DDNSサービスは、「DDNS」とかで検索すると色々出てきます。

DiCEのLinux版は1回インストールしてみたけど
理解が足りてなくて自動起動とか上手く設定できなかったのと、
ほぼ毎日WindowsPCを立ち上げているので、Windows版をインストール。
DiCE

OSのインストール

OSはUbuntu server 14.04 LTS 32bit版を使用。
Ubuntu 14.04.3 LTS (Trusty Tahr)
このページのubuntu-14.04.3-server-i386.isoをダウンロード。
32bitなのは前述のサーバーPCが64bitに対応していないから。

ダウンロードしたISOをCD-Rに焼き、サーバーPCの外付けドライブからインストーラーを起動。
2016/9/25追記:USBメモリでインストールすることにした。
usbメモリからubuntu serverのインストール
インストール後USBメモリをフォーマットする場合はSDフォーマッタが便利。

インストール手順はググったら解説してるページが沢山あったので省略。
OpenSSHとGrubは必ず選択して一緒にインストールする。
※OSインストール後はメインPCからSSHで繋いで作業。

インストールが終了したら、メインPCからSSHで接続。
ソフトは通常の作業はputty、ファイルの転送とかはWinSCPを使います。

ログインして色々インストールとかセキュリティ対策

ログインしてApache2とか必要なものを入れていく。
念のためセキュリティ対策も行う。
身内向けなのであまり理解せずやっているけど
設定内容は下記ページを参考にしています。
Ubuntu 12.04 LTSサーバーを安全にする

ログイン

Puttyでログイン
ホスト名:ユーザー名@192.168.1.2 などサーバーPCのIPを入力
Port:22
PuTTYでログイン
ログインしたら下記コマンドで色々とアップデートしておく。
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get -y autoclean

SSHのポート変更

端末で下記を実行して設定ファイルを開く
$ sudo vi /etc/ssh/sshd_config
(VIのコマンド・・・a カーソルの右から入力開始、:wq 上書保存して終了、:q 終了、:q! 保存せず強制終了)

下記項目を変更、追加
Port < 選んだポート番号>
PermitRootLogin yes→no
DebianBanner no
編集後再起動
sudo shutdown -r now
Puttyでログインする際のポート番号が変わるので
設定したポート番号に変更して再度ログインする。

よく分からないけど共有メモリ?の設定変更
設定ファイルを開く。
sudo vi /etc/fstab
下記行を追加
tmpfs     /run/shm     tmpfs     defaults,noexec,nosuid     0     0
再起動
sudo shutdown -r now

apache2のインストール

マインクラフトのdynmap用。
下記コマンドでインストール。
sudo apt-get install apache2

UFWの設定

ファイアウォールを設定する。
既にインストールされているので設定してから有効化を行う。

設定していない項目は全て無効にする
sudo ufw default DENY
ローカルからのSSHのみ有効とする
sudo ufw allow proto tcp from 192.168.1.0/24 to any port <ssh のポート番号>
SSHの再試行回数を制限する(ブルートフォースアタック対策)
sudo ufw limit </ssh><ssh のポート番号>
httpのポートを許可
sudo ufw allow 80
マインクラフト用のポートを許可
sudo ufw allow 25565
TeamSpeak3用のポートを許可
sudo ufw allow 9987/udp
設定した内容を確認
sudo ufw status
ファイアウォールを有効化
sudo ufw enable
ちなみに間違えて追加したルールを削除するときは下記コマンド
(sudo ufw delete allow 80)

他にも色々設定したけど省略。

マインクラフトのインストール

JDKをインストール
sudo apt-get install openjdk-7-jre
screenが入っていなければscreenもインストールする。

マイクラ用のフォルダ作成。
mkdir minecraft
mkdir backup

spigot.jarの作成

サーバーMODを入れる為、bukkitの派生版?のspigotを使用。
自分でビルドする必要があるらしいので、下記ページを参考に作成。
Spigot導入 – Spigot 日本ユーザーWiki

spigotのjarファイルが出来上がったら、spigot.jarにファイル名を変えて
WinSCPでサーバーPCにコピーする。
コピー先は下記フォルダ。
/home/ユーザー名/minecraft

起動してファイルを自動生成させる

puttyから下記コマンドでspigot.jarを起動する。
cd minecraft
java -Xmx1024M -Xms1024M -jar spigot.jar nogui
一通り生成されたら一旦サーバーを止める。
stop
WinSCPでminecraftフォルダ内に生成されたeula.txtを開き、
規約に同意できる場合はfalseをtrueに書き換える。
eula=true
/home/ユーザー名/minecraft/pluginsフォルダに
実装したいサーバーMODを入れる。

umyo鯖には下記を実装。
AutoSaveWorld
Chairs Reloaded
iConomy
ChestShop
Vault
Dynmap
LWC
Multiverse-Core 2.4
Multiverse-Portals 2.4
MyHome
PermissionsEx
WorldEdit 5.6.3
WorldGuard 6.1

起動スプリクトの作成

WIKIに上がっているスクリプトを使用。
cd
wget -O minecraft "http://minecraft.gamepedia.com/Tutorials/Server_startup_script/Script?action=raw"
vi minecraft
以下の値を変更する。
SERVICE='spigot.jar'
USERNAME='user'
MCPATH='/home/user/minecraft'
BACKUPPATH='/home/user/backup'
起動スクリプトをinit.dへコピーして起動
sudo cp minecraft /etc/init.d/
sudo chmod +x /etc/init.d/minecraft
/etc/init.d/minecraft start
これで起動完了。
状態を見るには下記コマンド
screen -r minecraft
あとは電源入れたらマイクラサーバーも自動起動するように設定したいけど上手く行かない。
最初やったときは苦労しつつ出来たけどどうやったかさっぱり思い出せないので
暇なときにやろうかな。

TeamSpeak3のインストール

TeamSpeak3用のユーザーを追加
sudo adduser teamspeak
su teamspeak
WindowsPCでLinux Server 32bit版をダウンロード、解凍
TeamSpeak3 ダウンロードページ
WinSCPでサーバーPCの/home/teamspeakにコピー

端末で下記を実行
cd
chmod +x ts3server_startscript.sh
./ts3server_startscript.sh start
トークンが表示されるのでコピーしてテキストエディタで保存しておく。
(初回しか表示されない)
ポート変更するならこのタイミングで行う。

トークンをコピーしたらWindowsPCでTeamSpeak3クライアントを起動して、サーバーに接続。
接続できない場合はufwでポートの設定とかしてあるか確認する。
接続できたら特権キーの入力画面が表示されるので
先ほど保存したトークンを特権キーに貼り付け。
(表示されない場合はアクセスキー→特権キー)

以上で、Ubuntu 14.04 LTSにマインクラフトサーバーとTeamSpeak3サーバーのインストール完了。

sponsored link

down

コメントする




ドラゴンズドグマオンライン

人気記事



sponsored link