[CSGO]サーバーにカスタムファイルを導入する

ワークショップ非対応のカスタムマップや自作マップ・スプレーやSaySoundsが該当します。
マップやSaySoundsは通常のDLの数倍の速度でダウンロードさせる事が出来ます。
帯域制限にも対応しています。
マップは自動でダウンロードしてくれますがスプレー等はダウンロードさせるプラグインを別途用意して下さい(後日追記予定)。

サーバーの建て方目次
準備 #1
起動設定 #1.5
他人が入れる様にする #2
試合設定 #3
ワークショップマップ #4
カスタムコンテンツ,FastDLサーバー導入

 

—必要な物—

・ hfs HttpFileServer
・GOサーバー
・TCP80のポート開放
・そこそこのネット環境

hfsをダウンロードし、任意のディレクトリに保存してから実行してください。

hfs

任意の場所にダウンロードサーバーのフォルダを作成して下さい。

D:/CSGO_Server/FastDL
|–maps
|–materials
|–models
|–sounds

こうなるように作成し、hfsで右クリックメニューから”Add folder from disk”を選び
FastDLフォルダーを選択して下さい。

又は、ドラッグアンドドロップで追加し”Real folder”を選択して下さい。
rf

この状態で上に表示されてるアドレスにブラウザでアクセスすると各フォルダが見えるはずです。
上の画像の例だとhttp://192.168.11.16:2500/FastDL になります。(俺の例ですので他の方がアクセスしても表示されません)
また、URLの最後にスラッシュは不要ですので付けないようにして下さい。

hfs2

ブラウザでアクセスするとこうなります。
グローバルIPを確認し、そのアドレスからアクセスして見えたらファイルサーバー構築は成功です。
例:グローバルIPが123.456.789の場合
http://123.456.789/FastDLとなります。

ファイルサーバー構築に成功したらCSGOのカスタムコンテンツを追加していきます。
カスタムマップを追加する前に注意として、ファイルサーバーからダウンロードする場合は
ある制約があります。
bspファイル容量が149mbを超えている場合はFastDLではなく通常のダウンロードになります、
その為非常に低速になるので気を付けてください。

カスタムマップ追加についてですが、bspのみでダウンロードさせるのも高速ですが、
bz2という圧縮形式を使用するとより高速でダウンロードさせる事が出来ます。

hfs3
こんな感じです。
7zip等を使って圧縮し、”マップ名.bsp.bz2″という名前になるようにして下さい。
また、bz2が何かの手違いで認識しなかった時の為にbspは一応残してください。
無くてもbz2からダウンロードしてくれますが念のため。

もう一度ブラウザから確認し、追加できている事を確認したらGOサーバー側の設定に移ります。
hfs4

server.cfgを開いて以下の内容を追記してください。

sv_downloadurl “http://example.com/cstrike/”
sv_allowdownload 1

sv_allowupload 1

sv_downloadurlについては、mapsやmaterialsフォルダが置いてあるフォルダを指定して下さい。
また、グローバルIPでの指定にして下さい。

IPが123.456.789の場合で、

D:/CSGO_Server/FastDL
|–maps/de_obsession_r3.bsp.bz2
|–materials
|–models
|–sounds

このような構成の場合は、
sv_downloadurl http://123.456.789/FastDL
という事になります。

一度クライアント側のCSGO/mapsより該当マップを削除し、
GOサーバーに グローバルIP経由で接続してみてください。

hfs5

正常にアップロード出来ている場合はこのようなコンソールが出ます。
以上でカスタムマップの追加とファイルサーバー構築は終了です。
お疲れさまでした。

また、カスタムマップを追加する際はnavファイルも配置しておくことをオススメします。
この作業をしないとBOTの動きを指定するナビゲーションファイルの生成時間で1~2分サーバーが完全に固まります。
クライアント側のCSGOでマップを起動し、mapsフォルダに置いてあるde_obsession_r3.navを
サーバー側にコピーすれば完了です。

[CSGO]Windowsで試合サーバーの建て方 #4 Workshop

#4です。

この記事以降は、サーバーの構成が完了した後のお好み設定についてやってきます。

サーバーの建て方目次
準備 #1
起動設定 #1.5
他人が入れる様にする #2
試合設定 #3
ワークショップマップ #4
カスタムコンテンツ,FastDLサーバー導入

 

この記事ではワークショップマップ(以下長いのでWSマップと表記)や自作マップに対応させたり、コミュニティサーバーとして稼働させる為の技術を記載します。
また需要が限られますが、自作したZombieEScapeマップの確認用にparticleが見えるようにする鯖も建てる事が出来ます。

まあ#3の時点で初期マップの紅白は全然出来るので後はマイナーなマップでやりたい方向けです。

#4ではWSマップをサーバーに導入する方法です。
また、この記事を読み進める前にファイルの拡張子を表示させる方法をやっておく事をお勧めします。

まずWSマップをダウンロードするには、#2でやったsv_setsteamaccountの様な認証キーが必要になります。

SteamAPIKey このサイトにドメインを入力しキーを入手してください。

キーを取得したらSeDirectorの Propertiesの”Additional Parameters”に-authkey XXXXXX”と入力して保存してください。
XXXXXXの部分が先ほど取得したキーになります。
また、このキーを他の人に教えると勝手にサーバー用に使われる可能性があるので絶対に誰にも教えないで下さい。

続いてWSマップをサーバー側に保存する手順です。
SeDirectorからサーバーを右クリックし、”Open”→”GameDirectory”。
そこにsubscribed_collection_ids.txtというファイルと、
subscribed_file_ids.txtというファイルを作成してください。

例えのマップとしてde_seasonを使います。

このマップのWSをブラウザで開くと上にURLが出ます。
http://steamcommunity.com/sharedfiles/filedetails/?id=322837144
ってやつです。
この”322837144“ってのがマップのIDになります。

これをsubscribed_file_ids.txtに記述して保存してください。
ws

これで設定が上手く行ってればサーバー起動時にde_seasonがサブスクライブされます。
サブスクライブしたマップを起動するにはサーバーコンソールに
host_workshop_map 322837144
と入力してください

マップ単体ではなくWSコレクションを読み込ませたい場合は、
subscribed_collection_ids.txtにコレクションのIDを記入し、
host_workshop_collection “ID”と入力して下さい。

CSGO SE Maps Collectionこのコレクションの場合は、
それぞれに125499590と記入して下さい。

以上でWSマップの導入は完了です。お疲れ様でした。
WSマップは一つで200mbを超える容量の物もあり、HDDを圧迫する為。
大量のマップを導入するつもりなら余裕があるHDDにサーバーをインストールする事をオススメします。
次回の記事でカスタムマップの導入を解説します。

[CSGO]Windowsで試合サーバーの建て方 #3 試合設定

前回からの続きです。

サーバーの建て方目次
準備 #1
起動設定 #1.5
他人が入れる様にする #2
試合設定 #3
ワークショップマップ #4
カスタムコンテンツ,FastDLサーバー導入

 

前回の記事で簡易な5on5のサーバーが完成しました。
この記事では残る二つのタスクを片付けます。

・サーバーへのMetaMOD/SourceMOD導入(サーバー管理MOD)
・試合サーバー設定の最適化

MetaMOD/SourceMODの導入から始めて行きます。

MetaMOD公式サイトよりMetaMODをダウンロードしてください。
SeDirectorを開いて、サーバーを右クリックしOpen→GameDirectoryでサーバーのディレクトリを参照してください。
ダウンロードしたzipファイルを開き、”addons”フォルダーをサーバーのcsgoフォルダにコピーしてください。
正常にコピー出来ていればファイル階層は以下の通りとなります。

H:/srcds/csgo_kouhaku1/csgo
┗addons
┗cfg
┗maps

/csgo…以下が正常になっている事を確認したらSeDirectorからサーバーをもう一度起動して下さい。
起動したらSeDirectorからサーバーを一回クリックし、”Show/Hide”をクリックしてください。
黒い画面が表示されると思います。これがCSGOサーバーの本体です。
srcds
CSGOの開発者コンソール同じく、コマンドを打ち込む事が出来ます。
metamodが導入されているかどうかの確認として”meta”と入力してください。
meta
このようなコマンドが羅列されれば成功です。
“Unknown command”というエラーが出た場合は導入に失敗しています。
metamodのインストールをもう一度試してみて下さい。

成功していれば次のSourceMODの導入に続きます。

SourceMOD公式サイトダウンロードページより、”Windows”をクリックし、SourceMOD本体をダウンロードして下さい。
ダウンロードしたzipファイルを開き、”addons”と”cfg”をmetamodと同じようにインストールして下さい。
SeDirectorよりサーバーを起動し、”sm”と入力してください。
sm
上の画像のようなコマンドが羅列されれば成功です。
“Unknown command”と表示される場合はインストールが失敗しています。
“meta”コマンドを入力し、metamodが正常に読み込まれているか確認してみて下さい。
SourceMODはmetamodが無いと動きません。

正常に導入できていることを確認したら、サーバーの管理者の追加とlo3laoderプラグインを追加します。
csgoフォルダ内のaddons/sourcemod/configsの中に”admins_simple.ini”を右クリックから編集してください。
ここにサーバー管理人の情報を記述します。
Steamを開き、自分のプロフィールの上で右クリックから「ページのURLをコピーする」を選択してください。
SteamID Finderに接続し、コピーしたURLを貼り付けてください。

下に出てきた”STEAM_”から始まる数字の羅列を全てコピーしてください。steamid

コピーしたSteamIDをadmins_simple.iniに記述します。
例:

“STEAM_0:1:55894410” “z”

STEAM_の部分のみ書き換えてそのまま一番下に記述してください。
該当のSteamIDに”z”=”全ての管理権”を付与します。
上書き保存したら、サーバーを再起動するかマップを変更してください。
サーバー中に入り、チャットに!adminと入力してください。
正常に管理権限を取得出来ていればこのようなメニューが表示されます。
20170221090910_1

もし表示されなかったら、表記ミスが無いか確認してください。

正常に管理権限を取得出来ていたら、MetaMOD/SourceMODの導入は完了しています。お疲れ様でした。

次のステップの”紅白戦サーバーとしての設定の最適化”を始めます。

一度SeDirectorよりサーバーをSTOPしてください。

Thiry様のブログよりlo3loadermap changerをダウンロードしてください。
ダウンロードしたzipファイルの中にあるcfgとaddonsフォルダをcsgoフォルダに入れてください。

SeDirectorよりサーバーを起動し、ゲーム中に入ってチャットで”!lo3″と発言して下さい。
3回のリスタート後、マッチが始まれば紅白の設定は完了です。

次にESL大会での公式設定と、128tickの設定をします。
lo3プラグインに同梱されているESL公式大会の設定は少し前の物なので最新のものを適用します。
ESL公式サイトのconfigダウンロードページよりcfgをダウンロードしてください。
ダウンロードしたcfgファイル群を、csgo/cfgにコピーしてください。
上書き確認メッセージが出ますが、上書きを選んで続行してください。
以上でESLの設定が反映されました。
eslcfg

128tickの設定をします。
SeDirectorからサーバーを右クリックし、”properties”を選択してください。
“Additional Parameters”に”-tickrate 128″と追記してください。
128

ゲーム内でnet_graph 1コマンドを打ち、128tickになっていたら成功です。

以上で全ての紅白サーバーの設定は完了です。お疲れ様でした!!

サーバーに全員接続した後、!mapよりマップを変更し!lo3と発言する事で5on5マッチが開始されます。

後はお好みでチーム移動プラグイン等を入れてみても面白いかもしれません。
また大人数でcoopマップやミニゲームを楽しむ事も出来るようになります。
本当に様々な事が出来るので是非試してみてください。

次の記事でワークショップ対応の方法を解説しますが、標準マップは無くても動きますので必要ありません。

[CSGO]Windowsで試合サーバーの建て方 #2 公開設定

前回からの続きです。

サーバーの建て方目次
準備 #1
起動設定 #1.5
他人が入れる様にする #2
試合設定 #3
ワークショップマップ #4
カスタムコンテンツ,FastDLサーバー導入

 

前回LAN専用サーバーの 建て方を解説しましたが、この設定だとまだ自分以外誰も入れません。
なので、今後の記事では以下の3パートに分かれて進行して行きます。

・サーバーに自分以外が入れるようにする設定
・サーバーへのMetaMOD/SourceMOD導入(サーバー管理MOD)
・紅白戦としての設定の最適化

以上です。まず最初の「サーバーに自分以外が入れるようにする設定」から始めていきます。

そもそも今の設定では何故入れないのかを説明する所から始めます。
2015/12/8に実施されたアップデートにより、何も購入して居ないSteamアカウントと、
CSGOを所持していないアカウントでのサーバー運営が不可能になりました。
その為サーバー運営者が正規のCSGO所持者である事を証明する為のcvar”sv_setsteamaccount”が追加されました。
このコマンド とSteamのGameServerLoginToken(GSLT)を組み合わせて使用する事で初めてLAN以外の接続が可能となります。

cvarの設定方についてですが、Steamのゲームサーバーのアカウント管理に接続し、
“ベースゲームのAppID”に”730″を、
“メモ”の所に説明(例:server1など)を入力し、”作成”をクリックしてトークンを発行してください。
トークンが発行されたら、前回の記事で設定したserver.cfgを開き
sv_setsteamaccountの後ろにトークンを入力してください。

例:”sv_setsteamaccount XXXXXXXXXXXXXXX”

これで自分のサーバーに他のプレイヤーが接続出来るようになりました。
SeDirectorを起動し、知り合い等にグローバルIPとパスワードを教えて接続出来るか確認して貰いましょう。
接続コマンドは以下の通りです。

connect “サーバーのIP:27017”;password “ぱすわーど”

“サーバーのIP”はグローバルIPを確認し、それを友達に伝えて下さい。
“27017”となっている部分はSeDirectorで設定したポート番号です。
“password”は、server.cfgに記述したsv_passwordです。前回の記事通りなら”kouhaku”になっています。

自分のサーバーに接続する場合は、
“connect localhost:27017”;password kouhaku
で接続出来ます。

これでサーバーに自分以外の人が入れるようにする設定が終了しました。
少々不便ですが5on5マッチ自体は可能になりました。
ですがこのままだと使い辛いので管理MODを導入します。
次回に続きます。

[CSGO]Windowsで試合サーバーの建て方 #1.5 サーバーとGOの同時起動

前回からの続きです。

サーバーの建て方目次
準備 #1
起動設定 #1.5
他人が入れる様にする #2
試合設定 #3
ワークショップマップ #4
カスタムコンテンツ,FastDLサーバー導入

 

Steamはゲームの二重起動を防ぐ為に、同じファイル名のゲームを2個起動しようとするとエラーメッセージが表示されます。
なので、CSGOのサーバーを起動している時はゲームを起動できません。
ゲームを起動してからサーバーを起動する事で回避出来ますが、面倒なので同時に起動出来るようにします。

 

以下、方法の解説です。
SteamライブラリよりCSGOを右クリックして「プロパティ」を開いてください。
”起動オプションを設定”から起動オプションを設定し、Ctrl+Aで全て選択してコピーしてください。
コピー出来たら起動オプションは一度閉じてください。

“ローカルファイルを閲覧”をクリックし、CSGO本体ディレクトリを開いて下さい。
“csgo.exe “を右クリックし、”送る”からデスクトップにショートカットを作成してください。
デスクトップに作成された”csgo.exe”のショートカットを右クリックしてください。
“リンク先”の後ろに一つスペースを空けてから、
先ほどコピーした起動オプションと-steamという起動オプションを追加して貼り付けてください。

例: “F:\SteamLibrary\steamapps\common\Counter-Strike Global Offensive\csgo.exe” -steam -freq 144 –language english -novid -tickrate 128 -console”

このショートカットから起動すれば、サーバー起動中にも通常通り起動する事が出来ます。

以上追記おわりでした。
次回に続きます。

[CSGO]Windowsで試合サーバーの建て方 #1 初期設定

本記事は管理人旧ブログより加筆修正し移行した記事です。

CSGOの試合用サーバーの立て方を解説します。
本ガイドはWindowsPC向けの解説となっています。
パフォーマンス面ではLinuxの方が優れている為、知識がある方はLinuxで建てる事をお勧めします。
良く分からない方はWindowsの方が簡単なのでWindows用の建て方を書きます。
Linuxサーバーについて詳しくは「Linux SteamCMD」等で検索してみて下さい。

参考にしたサイト様:

Linux初心者のためのCS:GOのサーバー構築講座 Part.1

 

サーバーの建て方目次
準備 #1
起動設定 #1.5
他人が入れる様にする #2
試合設定 #3
ワークショップマップ #4
カスタムコンテンツ,FastDLサーバー導入

また、サーバーの管理運営は全て自己責任でお願いします。

—必要な物—
・UDP 27015~27020のポート開放とファイアウォール設定
・そこそこのスペックのWindowsPCと安定した回線(サーバー数*CPUコア,3ghz前後を推奨)

・携帯電話番号に紐付けてあり、正常に利用可能なSteamアカウント

前準備の方に取り掛かって行きます。

—必要なツール—

SeDirector
・CSGOクライアント

他サイト様で紹介されている「SteamCMD」はSeDirectorに内包されていますので必要ありません。

SeDirectorをダウンロードしてください。
このツールがあればL4D2やCS:SなどのSourceエンジンのゲームサーバーは簡単に作成出来ます。
また、クラッシュ時の自動復帰や自動アップデート機能も内包しています。
インストール画面が表示されるので”Install”をクリックしインストールしてください。
デフォルトのインストール先で問題無いです。

sed

インストールが完了したらデスクトップにショートカットが作成されているので起動してください。
SeDirectorは非常に便利なツールですが、会員登録しないと使えないというデメリットが存在します。
会員登録も利用も無料ですので登録してログインして下さい。

ログインすると”Have you used SeDirector in this computer?”といったメッセージを聞かれると思います。
日本語に翻訳すると「このPCで過去にSeDirectorを使用した事はありますか?」という質問です。
Yesにすると過去に使っていた設定ファイルを参照するように求められるので「いいえ」を選んでください。

SeDirectorの初期設定メニューです。
SteamCMDのディレクトリと、サーバー作成時に参照されるディレクトリのみ設定すればサーバーの作成が出来るようになります。
sed2

以上の設定が完了すると、SeDirectorのメイン画面に移行します。
左上の”Server”より”Add server”を選択してください。
sed3

作成するサーバーの設定画面に移行します。

sed4
最初は何も設定せず、SRCDS Locationの横の「Create」をクリックしてください。
“Game”はCSGOを選択し、”Browse”からサーバープログラムをインストールしたい場所を選択してください。
ワークショップマップの導入を見据えて10gb以上の余裕があるドライブが望ましいです。
設定出来たら”Create server”でサーバーを作成してください。
黒い画面が出現し、20分程度でサーバープログラムのダウンロードが終わります。
ダウンロードが終わったら、”Browse”からサーバープログラムの場所を指定してください。
指定された事を確認したら、上記の画像のに書いてある箇所の設定をしてください。
以下の画像は設定例です。
rei

設定が完了したら、メインメニューに戻り、サーバーを右クリックで選択し
“Open”から”GameDirectory”をクリックし、サーバープログラムの場所を参照して下さい。
開いた場所のcfgフォルダにserver.cfgというファイルを作成して下さい。
フォルダには以下の内容を記述してください。

hostname [JP]kouhaku 5on5 TEST //サーバーブラウザに表示される名前
sv_password kouhaku //サーバーのパスワード。空白で鍵無し
sv_setsteamaccount  //Steamアカウントのリンク(後述)

rcon_password kouhaku //rcon password
sv_maxrate 0 //128tick
sv_minrate 80000 // 128tick
sm_cvar sv_maxcmdrate 128 //128tick
sv_mincmdrate 128 //128tick
sv_minupdaterate 128 //128tick
sm_cvar sv_maxupdaterate 128 //128tick
tv_name “kouhaku-GOTV” //GOTV Name
tv_snapshotrate 32 //GOTV rate
tv_autorecord 0 //GOTV AutoRecord
sv_broadcast_ugc_downloads 1 //Workshop auto update
sv_broadcast_ugc_download_progress_interval 60 //Workshop auto update
game_mode 1 //competitive
game_type 0 //competitive

以上の内容を記述したら、”名前を付けて保存”から”文字コード”をUTF-8にして保存して閉じてください。
ANSIで保存する場合、//移行の日本語コメントを全て削除してください。

先にCSGO本体を起動してから、SeDirectorからサーバーを右クリックし、
Startを押してサーバーを起動して、サーバーブラウザのLanタブに表示されていれば無事起動出来ています。
最低限のサーバー設定は完了しました。お疲れ様でした。
この記事でわからない事があればコメントかチャット下さい。教えます。

サーバーを停止するにはSeDirectorからサーバーをSTOPしてください。
ですがまだ自分以外のプレイヤーが入れないようになっています。
次回で自分以外のプレイヤーが接続出来るようにする方法を解説します。