サーバー作成:windows

Last-modified: 2012-04-13 (金) 16:08:31

ポート開放

サーバーを立てるにはポートを空けておくことが必須ですが、ルーターの種類により方法は様々なので、ここで解説はしません。
自分のルーターの型番を調べ、「"型番" ポート開放」で検索すれば出てくるはずなので、各自調べて設定してください。
最低限必要なport番号はTCPとUDPの内向き27015が必要です。 

注)27005番は外向きの接続のため特に設定をせずとも開いているはずなので設定する必要はありません。

hldsupdatetoolを使用したサーバーのインストール

1.Valve公式からHLDSUpdatetoolをダウンロードしてくる
2.お好みの場所(今回は例としてc:\srcds)にインストールする
3.コマンドプロンプトを起動し

cd c:\srcds
HldsUpdateTool.exe -command update -game "l4d_full" -dir .

と入力するとアップデートが始まる。

コマンドプロンプトが面倒な人はメモ帳を開いて

@echo off
cd c:\srcds
hldsupdatetool -command update -game "l4d_full" -dir c:\srcds
exit

をコピペして「l4d_update.bat」として保存し、これをダブルクリックするとアップデートが
始まる。
かなり時間を食うので気長に待ちます。

インストールディレクトリを変更すれば複数インストールする事も可能。

サーバーをアップデートする時は上記コマンドを再度入力すればアップデートされます。

サーバーの立て方

1. server.cfgを編集する。
server.cfgは最初から無いので自分でテキストエディタで作る。
場所は上記例の場合、c:\srcds\l4d\left4dead\cfg\

2-1. GUIで立てる。
srcds.exeを起動する。場所は上記例の場合、c:\srcds\l4d\
"専用サーバーを起動"ウィンドウが開くので、各項目を設定し"サーバーを起動"ボタンを押す。

2-2. CUIで立てる。
コマンドプロンプトで以下のコマンドを入力しサーバー起動

cd c:\srcds\l4d
srcds.exe -console -game left4dead

もしくは、上記コマンドを記述したbatファイルを作る、srcds.exeのショートカットを作りプロパティのリンク先を編集する、等すれば簡単に起動できるようになります。

GUIサーバーとCUIサーバーの違い

GUIサーバーの特徴

  • CUIに比べ負荷が多少重い。
  • 起動時に設定できる初期設定が限定される。
  • サーバーコンソールに文字を打つとサーバーコマンドやCVARの候補及びそれの現在値のリストが出る。
  • サーバーコンソールで日本語文字が文字化けしない。
  • タブ切り替えでプレイヤー情報やサーバー情報がいつでも確認できる。
  • メインタブで視覚的にサーバー情報を編集できる。
  • プレイヤータブで視覚的にプレイヤーをkick or banできる。

CUIサーバーの特徴

  • GUIに比べ負荷が多少軽い。
  • 起動時に起動オプションでサーバーの初期設定を設定できる。
  • 操作は全てコマンド入力である。
  • サーバー情報が確認しづらい。
  • サーバーコンソールの内部文字の文字コードはUTF-8なのに対し、プロンプトの表示文字コードがShift-JISの為に文字化けする。(*)

(*)現在文字化けを解消する方法は不明。
 コマンドプロンプトに"chcp 65001"を入力するとコマンドプロンプト自体はUTF-8で表示する事ができますが、そこから起動するsrcds自体の表示文字コードはShift-JISのままなので、文字化けは解消されません。

起動オプション

起動時に起動オプションを追加し、サーバーの初期設定ができます。
起動オプションはLeft 4 Dead Dedicated Server、hldsupdatetoolを使用しインストールしたサーバーのGUI起動、CUI起動を問わず追加できますが、
GUI起動では追加できるオプションが限定されます。

主な起動オプション

起動オプション説明
-consoleCUIで起動する。これを付けずにGUIで起動した場合、+が付くオプションは無視される。
-game <game>どのゲーム用にサーバーを立てるか。CUIでは必須。
-autoupdate起動時に自動的にサーバーのアップデートを行う。
-condebugコンソールログをconsole.logに保存する。
+hostport <port>サーバーで使用するUDPポート番号を指定する。指定しなかった場合27015から順に使われる。
+hostname <name>サーバー名を指定する。
+maxplayers <number>サーバーに参加できる最大人数を指定する。L4Dの場合、生存者及び感染者BOTの数も含む。
+map <map>起動時にロードされるMAPを指定する。
+cfg <file>起動時に読み込むcfgファイルを指定する。あくまで起動時の1回のみで、この指定とは別にMAPが読み込まれる度に毎回server.cfgは読み込まれる。

起動オプション一覧はこちら
Command Line Options - Valve Developer Community

※サーバーコマンドやCVARは+を付けて起動オプションとして追加できる。(cheatsやhiddenフラグが付いている物は不可。)
※+が付くオプションは全て、+cfgで指定したコンフィグファイル内にサーバーコマンドやCVARとして(+を抜いて)記述しても良い。

※SourceModの機能(例:sm_cvar等のSourceMod pluginのコマンド)は、SourceMod自体がMAP読み込み時?にロードされる為に、起動時には機能しません。

Windows のライセンスの問題

Windows はサーバOSではありませんので、接続できるユーザ数がライセンスで制限されています。
バージョンごとに制限が違います。

Windows 7 バージョン関係なく20人までユーザを接続させることができます。

次のOSは10人までユーザを接続させることができます。

  • Windows XP Professional
  • Windows XP Media Center Edition 2005
  • Windows Vista Ultimate
  • Windows Vista Business
    (2009年6月現在)
    (WindowsXPpro以前のOSはサポート終了の為不明、資料無し)

それ以外のWindows XP Home/Vista Home等はライセンス上は5人までしか接続させることができません。

http://www.microsoft.com/about/legal/useterms/default.aspx
マイクロソフト ライセンスページ

上記以外のWindowsでもCo-op、Survivalモードのみであれば最大でも4人の接続なのでどのエディションでも問題ありませんが
対戦サーバを建ててライセンスで規定されている以上のユーザを接続させるとライセンス違反になります。
Linuxではそのような制限はありません。

上記はWindowsユーザの同時接続の事で、抑々ライセンス数以上の接続は出来なくなっている。
L4D等のアプリケーションレベルでの接続数に制限はない