Home‎ > ‎

TeamFortress2 SteamCMD サーバー 立て方

Team Fortress2 サーバー 立て方 やり方


面倒くさいからやめとけ

なんか専用ツール作った外国人いるからソレ使うと楽っぽい
英語だけど,中学英語できるならわかるやろ
無料版と有料版が有って,有料版だとなんか色々便利っぽい
このツール使うなら,以下のくっそ長い説明ほぼ読まなくていい
https://forums.alliedmods.net/showthread.php?t=213461?t=213461


必要なもの

  • SteamCMD(サバファイルをDL&アプデしてくれるツール)
    • SRCDS(サバソフト本体)
  • テキストエディタ(無くても良いがあったほうが便利 Sakuraエディタが無料で優秀)
  • そこそこ性能のあるパソコン、一応ノーパソでも可
  • 光回線(有線接続)
  • HDDの8G程度の空き容量
  • 6時間くらいググって結局解決しなくてもめげない心
  • ダウンロード、解凍、インストール、拡張子の意味を知ってること
面倒くさいからやめとけ。一応このページ,親切な方やけど,書いてるうちに飽きて適当になってる。
この記事需要がある人なんて,年に3人いるかいないか程度だろうし,しかも完走できる奴なんておらんだろうから

Windows用の解説です
本当はLinuxでやったほうが良い(ライセンス的に)
Windowsでサーバーをたてる場合、参加可能人数を20人以下に設定しましょう
一般家庭用Windowsでの利用規約がそうなっています

ちなみにおそらくあなたが普段使ってる野良サーバーは,
管理人が月額数千円払ってレンタルサーバー(VPS)を借りて数百時間勉強して立ててくれてます。
感謝感激しながら使ってください。

Linuxのやり方は,私が面倒くさいから教えないです。以下愚痴だから読まんとこ
教えてもいいけど,Linuxの使い方から教えないといけない可能性が微レ存だから面倒くさいです。
VPS(月額900円くらいから)を借りて,公開鍵暗号の設定して,ファイアウォール設定して,テキストエディタあとかいれて,scpとsshクライアントいれて,linuxのコマンドや操作方法覚えて,vim覚えて,cronだのシェルスクリプト覚えてyumだのapt-get覚えてbyobuしてdockerってなんやねんして。
な,面倒くさいやろ?
こんだけ時間と労力と勉強かけて,でも維持費に毎月お金は減っていくから,広告でも載せたいところだけど,そうすると炎上するねん。
仕方ないから寄付募集しようにも民主党がネットで個人で寄付募集してはいけないという法律作りやがったから,ペイパルの寄付機能がおま国になったし。


SRCDSのダウンロード&インストール&アップデート

今のところ公式のDLページが見つからないが、とりあえずここからDLできる
DLしたら解凍して、中に入っているsteamcmdを実行する
なお、解凍場所はCドライブ直下にフォルダ作ってそこにいれると良い

初回起動時は勝手に色々DLされてファイルが増える
フォルダに入れとけ言ったのはその為


login anonymous
と入力してエンターを押すと匿名ログインができます
(anonymous=名無しさん)
自分のsteamアカウントを入力しても良いです。その場合はその後パスを入力してください

force_install_dir .\tf2\
app_update 232250
次に上の2つのコマンドを入力してください。
SteamCMD上で¥は\と表示されますが、それでよいです
1行目は、インストール先の指定で、2行目はTF2のインストール&アプデコマンドです
232250はTF2を意味します。ここを書き換えればTF2以外の鯖も立てれます

光回線でも20分ほどかかりますので、優雅にコーヒーでも飲むなりしていてください
インストールはこれで終了です、次の項目では起動や設定方法についての説明です

SRCDSの基本設定

tf2フォルダ内にsrcdsが出来上がってますが
srcdsを直接実行しても何も起きませんね
最近直接起動が出来るようになりました、が、まぁいいからショートカット作成しとこ
設定が色々変更できるからさ

ってことで、srcdsのショートカットを作成して
そのsrcdsショートカットを右クリックしてプロパティをクリックする

リンク先の項目の末尾に半角スペース、そして半角英数字で
-game tf
と入力してOKをクリックして、srcdsのショートカットを実行する

さて設定項目が出てきましたね
・サーバー名:ここに入力した名がサーバー一覧に表示されます。半角英数字のみ入力可
・マップ:最初に読み込まれるマップです。マップの名前を覚えていない人はググレ
・ネットワーク:インターネット←全員に公開。LAN←自分しか入れない
・最大プレイヤー:参加出来る最大人数です。基本は24人にすると良いでしょう
・UDP Port:わからない人はとりあえず27015にしておいてください(ポートの意味は後述)
・RCONパスワード:入室用パスではなく、外部PCからサバ操作したい人用のパスです
・保護:チェックをいれましょう
サーバー起動をクリックしましょう

この段階で、もう鯖が建ってるので、入室することができます。とりあえず自分はね
他の人が入れるかどうかは、まぁ多分他人はまだ入れないと思います
何はともあれ自分が入れるかどうか確認してみましょう。TF2起動して
いつものインターネットタブではなく、LANタブを確認してみましょう
先ほど設定したサーバー名のものが見つかると思います。さっそく入室できるか確認しましょう

自分が入れることがわかったらちょっと細かな設定を言っておきます
それぞれの項目はダブルクリックすれば設定変更できます
Player Password:入室パスワードです。消したい時は"のみとか入力すればよい
Map Cycle:マップのサイクルを決めます。CPのみのマップを選べばCPのみ遊べる感じ
(なんだけど、デフォだと同じマップをずっとプレイするようになってる、理由は後述)

設定タブの項目です。とりあえずRound Limitだけ設定しておくと良いでしょう
ここの項目が全て0の場合、同じマップを永久にプレイする感じになります
・Time per map:時間指定で次マップへ変更します(単位は分)。0で無効
・Win limit:連勝数が指定した値に達した時、次マップになります。0で無効
・Round limit:指定したラウンド数で次マップになります。PLやCPなら2,PLRなら1が良いでしょう
(0で無効)

以上で基本的なサーバーの設定が終了しました

ルーターの設定(ポートの転送設定) ここまで読めば完成

さてサーバーを建てることができ、自分が入れることを確認できたら
次に外部のPCから入れるかの確認をしましょう。適当なフレンドの人にサバ一覧にあるかと聞いてみましょう(多分ないって言われます)

その場合の大抵の原因がルーターの設定です
といっても説明がしづらいです。人によって使ってるルーターが異なりますからね
なお「ポート開放」とドヤ顔で言うと、にわかだと思われるので
「ルーターの、ポートの転送設定」と言いましょう
『開放ってなんだよwwwしまってるのかよwww 』
(まぁあまりに間違える人が多いので、調べるときはポート開放で検索しないといけないことになっていて謎な状態にはなっていますが)

えっとだるいのでググレ
設定しておくべきポートは
UDP27015 これがメイン通信用
UDP27020 これが観戦専用サーバー用

motd

Q.motdって何?
A.サーバー接続時に黒板内に表示される
Message of the dayの略

二種類あり、KASサーバーで用いられているウェブページを表示する方法と
文字だけを表示する方法がある

【文字だけ表示する方法】
tf2\cfg\motd.txt
をメモ帳で開く
1行目は改行する
1行目は改行する
1行目は改行する
大事なことなので三回言いましたよ
好きな文章を記載する

文字コードをUTF-8にする。しないと文字化けする

なおウェブサイトを表示する場合、一行目にURLを記載すればいいだけ
(その場合utf-8ではなくANSI shift-jis で保存する)
https://の場合はhttp://に書き換えること

Server.cfg(cvar編集)

サーバーの設定ファイルです。サバ名に日本語が使いたかったり
詳細な設定をしたい場合これを編集します
cfg\server.cfgのテキストファイルを作成しメモ帳で開きます
(メモ帳にドラッグ&ドロップする)
こんなかんじで設定を書き込みます
1行目は改行してください

設定可能な一覧はここにだいたい記載されています
多すぎなので主要なものをピックアップします

主要cvar一覧

hostname "KASサーバー"//サーバー名です。文頭に[JP]と書いてください
sv_password "いつもの"//サーバーパスワードです。何も書かない場合パス無し部屋になります
rcon_password "password"遠隔操作用パスワードです。複雑怪奇なパスワードにしないと遠隔操作されてしまいます
sv_tags "kas"//タグです。サーバー名をいれておくと検索にヒットするようになります。日本ではなぜか知名度が低い
sv_region 4 //サーバーの地域です。4はアジアを意味します
sv_lan 0//で誰もが参加でき、1は自分だけ参加できます
motdfile //motd.txtの場所やファイル名を指定出来ます。省略可能
mapcyclefile //マップサイクルファイルの場所やファイル名を指定出来ます。省略可
mp_allowspectators //観戦の 1で有効、0で無効

//と入力するとメモ書きができます。この設定はどういう意味なのかメモるときに使えます

ゲームルール

mp_maxrounds 数字//指定したラウンド数でマップが切り替わります
mp_winlimit 数字//指定したチームの勝利数でマップが切り替わります
mp_timelimit 数字//制限時間を指定します

投票制御Cvar

【1で有効 0で無効です】
sv_vote_issue_changelevel_allowed //マップ変更投票(チェンジレベル)
sv_vote_issue_kick_allowed //キック投票
sv_vote_issue_nextlevel_allowed//次マップ変更投票(ネクストレベル)
sv_vote_issue_nextlevel_allowextend//マップ延長投票
sv_vote_issue_restart_game_allowed//リスタート投票
sv_vote_issue_scramble_teams_allowed//チームスクランブル投票

sv_vote_failure_timer//否決時に再投票可能になるまでの時間(単位は秒)











SourceTV

観戦専用のサーバー機能、SourceTV機能というものが備わっている
通常の方法で観戦するとプレイヤー枠を消費してしまい普通にプレイしたい人が入れなくなってしまうが、この観戦専用のサーバーに入ってもらうことでこの問題を回避できる
詳しいことは後述する

tv_enable 1//SourceTV機能の1で有効・0で無効
tv_port 27020//UDPポート
tv_name "KAS鯖TV"//SourceTV鯖の名前
tv_password "いつもの"//SourceTV鯖の入室パスワード
tv_maxclients "255"//SourceTV鯖の入場者上限(1~255)
tv_delay 10//不正対策の為のラグ。デフォ30秒(10秒~120秒)
tv_autorecord  0//自動録画demファイル作成機能、1で有効、0で無効

カスタムマップ用

sv_allowdownload 1//マップデータをプレイヤーにダウンロードさせる
sv_allowupload 1//知らん
sv_downloadurl "http://ホアーーー/tf2" //詳しくは後述する
net_maxfilesize 128//カスタムマップのファイルサイズ上限(単位は多分Mbyte)

複数鯖を起動するには

やることは対してかわりません、ショートカットをコピペして増やします
そして今度はそれぞれ用にmapcycleデータを作って指定する必要があります
(どっちも同じマップを回すのなら不要)
例えばCP用サバとPL用サバの2つを作りたい場合
mapcycleCP.txtとmapcyclePL.txtの2つを作成し(ファイル名は自由)
ショートカットの部分にそれぞれ+mapcyclefile "ファイル名.txt"を追記します

SourceTVとは

観戦用機能です。通常サバには観戦者含め合計32人までしか入ることが出来ませんが
この機能を使うと、観戦者用サバがたち、100人以上もの人が観戦できるようになります
ただし複数PCを使えば敵情報もつつぬけなので、対策のため最低でも10秒のラグがでます

server.cfgを編集する

カスタムマップを使うには

まずマップデータを用意する、以下のバナナサイトが公開レビュー共有に一番利用されている
TF2以外のマップも多い
用意したマップファイル(bspファイルなど)を、
C:\srcds\orangebox\tf\mapsフォルダに入れる

あとはマップのファイル名をmapcycleの中に入れれば良い
そしてserver.cfgにsv_allowdownload 1と加える
ただそれだけだ

自分が自分のサーバーに入るなら、事前に自分のゲームの方のフォルダにも入れておくと良い
c:\programfiles(もしくはprogramfiles(x86))\Steam\steamapps\アカウント名\team fortress 2\tf\maps\
がゲームが参照しているマップフォルダだ

これでも一応完了で、仮にマップデータを持ってない人が参加してもSRCDSが配布してくれる
ただしSRCDSのファイル転送機能は超遅い
新規プレイヤーはDL時間の長さにストレスを感じさせてしまうだろう

そこで別途マップデータをダウンロードさせる為だけのサーバーを用意することになるのだが
これも結局自分のサーバーでやったほうが手っ取り早いだろう
Windowsにはウェブサーバー用のアプリケーションのiisが付属しているが、使い勝手が悪いので
無料で結構セキュリティーが良いと呼ばれてるapacheを使うことにする
といってもapacheは初心者にはハードルが高いので、色々手軽にapacheを使えるようにするxamppという名のツールがあるので、そっちを経由して使うことにする
なおウェブサイトを公開するのにも当然使える

【xampp公式サイト】
下にスクロールしてインストーラをクリックしてダウンロード→インストール後起動
vistaの場合programfilesフォルダにインストールすると制限がかかってしまうので
インストール場所はCドライブ直下にするとよい
スタートをクリックするだけでサーバー建てが完了する

インターネットブラウザのURL欄にlocalhostと入力してみよう
なんか出たと思う

c:\xampp\htdocs\
がデフォルトのフォルダになっており、その中のindex.htmlもしくはindex.phpを表示している
index.phpを削除し、index.htmlをメモ帳で編集すれば、皆に見てもらえるウェブサイトになる

htdocsフォルダに適当にtf2\maps\
とフォルダを作成し、その中にマップファイル(bspファイルなど)を入れる

次にserver.cfgに以下の設定文を追記する
sv_allowdownload 1
net_maxfilesize 128
自分のグローバルIPアドレスの確認方法は
srcdsサーバーのコンソールタブに「status」と入力、udp/ip:の項目のPublic IPがそれです
IP 確認でぐぐっても良い

初期値のXampp(Apache)の使用ポートはTCP80番です
というより大抵のウェブサイトは80番ポートですね。
例えばニコニコ動画だとhttp://www.nicovideo.jp:80
これでも接続できますね(80は普段省略されてるだけ)

【Skypeについて】
SkypeはデフォルトではTCP80番ポートを使用する設定になってます、その為
Skypeを起動した状態でXAMPP(Apache)を起動しても80番ポートが使えずエラーがでるでしょう
Skypeを終了させるか、Skypeのツール→設定→詳細→接続
の上記のポートの代わりに80番ポートを使用するのチェックを外し適当なポートを指定するといいでしょう
(その代わり指定したポートも転送設定してください、でないとSkypeに不備がでます)

Source MOD MetaMod導入

長くなるため別ページに記載