LinuxでkailleraServer
20130105

動作環境
 CentOS7.x
 CentOS6.x
 CentOS5.x
 kaillerasrv0.86

必要ポート
 TCPポート27888
 UDPポート27888,32768-61000

Linux版kaillerasrvはUDP1000-6000は必要としませんが、UDP32768以降の膨大な数のポートを要します。
 →kaillera Serverの使用ポートについて

海外からの接続を制限したい場合はiptablesにて設定する事をお勧めします。
◆サーバープログラムのダウンロード
 [root@Server ~]# wget http://www.kaillera.com/files/kaillerasrv-0.86-linux.tgz

◆解凍
 [root@Server ~]# tar zxvf kaillerasrv-0.86-linux.tgz

◆configの設定を変更(クララ鯖の設定を元に記します。)
 [root@Server ~]# vi kaillerasrv-0.86/kaillerasrv.conf

ServerName=鯖が立った、クララがたtt
Location=ぬるぽ
URL=http://ry.tl/
MaxUsers=50
Port=27888
Public=1
IP=ry.tl
FloodMsgNb=5
FloodMsgTime=3
MinPing=200
MaxConnSet=0
MotdLine=Server address:Port
MotdLine=ry.tl:27888
MotdLine=Linux Server
MotdLine=Japanese only
AllowWebAccess=1
#サーバー名
#国名 「JP」等でもいいです。
#ウェブページのアドレス 空白でも問題ありません。
#ロビーに許容出来る最大ユーザ数 環境に合わせて増減しましょう。
#使用TCPポート アクセスする際にも影響します。
#「1」=マスターサーバの一覧に表示。「0」=一覧には表示されない。
#サーバのIPアドレス、若しくはドメインを指定
発言による荒らし対策 FloodMsgTimeで指定した秒数以内に「5」回発言で退場。
#上とセットの設定 「3」秒以内にFloodMsgNbで指定した回数発言で退場。
#接続を許容する最大Pingの指定 近隣諸国以外の国に対して簡易的なアクセス制限が出来ます。
#回線による制限 設定変更は推奨しません。
#サーバーに接続した際に表示されるコメント クライアントソフトによっては表示されない。
#同上
#同上
#同上
#ウェブページへのアクセスを許可する 例http://ry.tl:27888/?page=status

◆iptablesの設定を変更する。
 [root@Server ~]# iptables -A INPUT -p tcp --dport 27888 -j ACCEPT
 [root@Server ~]# iptables -A INPUT -p udp --dport 27888 -j ACCEPT
 [root@Server ~]# iptables -A INPUT -p udp --dport 32768-61000 -j ACCEPT

◆実行権限を付与しましょう。
 [root@Server ~]# chmod +x ./kaillerasrv-0.86/kaillerasrv

◆実際に起動してみる。
 [root@Server ~]# ./kaillerasrv-0.86/kaillerasrv

◆下記のようなエラーが表示された場合
 「./kaillerasrv: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory」
 この場合は「libstdc++.so.5」を入れる必要があります。
 [root@Server ~]# yum -y install libstdc++.so.5

 「./kaillerasrv: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません」
 この場合は「ld-linux.so.2」を入れる必要があります。
 [root@Server ~]# yum -y install ld-linux.so.2

 「./kaillerasrv: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory」
 この場合は「libstdc++.so.5」を入れる必要があります。
 [root@Server ~]# yum -y install libstdc++.so.5

 その他エラーが表示される場合

 [root@Server ~]# yum -y install gcc-c++

→最悪、エラー出たライブラリを追加していけばそのうちうまく行きます。

◆ログ取得とバックグラウンドで実行するよう自動起動へ登録する。
 [root@Server ~]# echo "cd /root/ ; /root/kaillerasrv-0.86/kaillerasrv >> /var/log/kaillerasrv.log & ; cd" >> /etc/rc.local

◆最後にログローテーション設定。
 [root@Server ~]# vi /etc/logrotate.d/kaillerasrv

/var/log/kaillerasrv.log {
missingok
notifempty
# 個人的記述
# olddir /var/log/old
sharedscripts
postrotate
killall kaillerasrv
/root/kaillerasrv-0.86/kaillerasrv >> /var/log/kaillerasrv.log &
endscript
}

ログローテーション設定ファイル

終わり。