サーバーを建てる

Last-modified: 2012-01-16 (月) 22:23:14

ここに記述してあるのは主にHalf-LifeHalf Life 2関連のものです。(DOOMの場合はこちらこちら。)

サーバーの建て方には主に
・ゲームを起動→サーバー作成
・STEAMのToolsタブにあるSource Dedicated Server(HL1エンジンのゲームサーバーを建てる時はDedicated Server)を立ち上げる
・hldsupdatetoolを使用する
の3つがある。 下に行くほど難しい

そしてサーバーをあけるにはポートを空けておくことが必須だが ここで解説するには種類がありすぎるので自分のルーターの型番を調べ、「"型番" ポート開放」とググれば必ず出てくるはずである。

サーバーの作成(Listen Server)

ゲームを起動し、サーバーの作成を選択。サーバーの設定を決め、OKを押せば鯖が立つ。

注意事項としてはこれで鯖を立てるとゲームによってはLANモードになってる事があり他人からどうあがいても見れないことがある そういう時はコンソールから"sv_lan 0"と入力する。
コンソールはなぜかキーボードの設定の所から出すかどうか設定できる。
キーボード→アドバンスド→コンソールを出すにチェック
すると半角/全角キーを押した時コンソールが出る。
ちなみにポートが1200番だけしか開いてないんだけど・・・という場合は起動設定に「-port 1200」とするとポート1200番を使うようになる。

・メリット
滅茶苦茶簡単 サルでも教えればできる。

・デメリット
自分が落ちるとサーバーも落ちる。
エラー落ちした時COOPのクリア目前・・・とかだと申し訳なさ過ぎて死にたくなる。

Source Dedicated Server(HL1エンジンのゲームサーバーを建てるならDedicated Server)

どこかにあったまとめから引用
HL1エンジンのゲームサーバーを建てる場合はsource Dedicated serverをDedicated serverに置き換えて読め。

1.steamでツールを選んでsource Dedicated serverをおとす。
2.一度おとしたsource Dedicated serveを起動させる。 元から持ってるゲームのサーバーを建てるならここで選択する。    MODのサーバーを建てる場合は3へ
3.一度起動させると
 C:\Program Files\Steam\steamapps\your_name\source dedicated server
 って言うディレクトリが出来るから、そこにMODファイルをコピーする。
 (MODファイルはここにある→C:\Program Files\Steam\steamapps\SourceMods)
 (HL1エンジンのMODはここにある→C:\Program Files\Steam\steamapps\your_name\half-life)

4.steamのツールからsource dedicated serverを起動させる。
5.プルダウンメニューから建てたいMODを選びちょいちょいと設定して終わり。

・メリット
簡単。
サーバーの設定もだいぶ楽。

・デメリット
これを起動しながらゲームもするとSTEAMのプレイ時間が2倍になる。

hldsupdatetool

一見Source Dedicated Serverで物足りるように見えるが、Garry's Modはこれでないとサーバーが立たない(気がする) なのでGmod wikiから転載。

1.Valve公式からHLDSUpdatetoolをダウンロードしてくる
2.インストールが始まったらc:\srcdsにインストールする
3.コマンドプロンプトを起動し

C:

cd \srcds

hldsupdatetool
と入力
4.ゲームのインストールを行う どのゲームのサーバーを立てるかによってこの後は変わってくる。
CS:Sの場合はコマンドプロンプトに

hldsupdatetool -command update -game "Counter-Strike Source" -dir C:\srcds
と入力してエンターを押す。
すると色々ダウンロードが始まりsrcdsにcstrikeというフォルダが出来る。
途中No installation record found~という表示が出て数分止まる場合があるが正常な動作。

HL1エンジンのゲームの場合(CS1.6)はコマンドプロンプトを起動し

hldsupdatetool -command update -game "cstrike" -dir C:\hlds
※ソースエンジンのサーバーと共存できないため、別のディレクトリにインストールしなければならない。

HL1エンジン系

・Half-Life

hldsupdatetool -command update -game "valve" -dir C:\hlds

・Day of Defeat

hldsupdatetool -command update -game "dod" -dir C:\hlds

・Team Fortress Classic

hldsupdatetool -command update -game "tfc" -dir C:\hlds

ソースエンジン系

・Day of Defeat: Source

hldsupdatetool -command update -game "dods" -dir C:\srcds

・Half-Life 2: Deathmatch

hldsupdatetool -command update -game "hl2mp" -dir C:\srcds

・Team Fortress 2

hldsupdatetool -command update -game "tf" -dir C:\srcds

・Garry's Mod

hldsupdatetool -command update -game "garrysmod" -dir C:\srcds

・SiN Episodes: Emergence

hldsupdatetool -command update -game "sin" -dir C:\srcds

・The Ship

hldsupdatetool -command update -game "ship" -dir C:\srcds

・Orange Box以降のソースエンジンを使ったMOD

hldsupdatetool -command update -game orangebox -dir C:\srcds

ソースMODの鯖をsrcdsで立てる場合は上のソースエンジン系から適当にインストールし(HL2DMあたりが手ごろ)SourcemodsフォルダからやりたいMODをc:srcdsへコピーしてくるといい。
(OrangeBox以降のソースエンジンを使ったMODはc:\srcds\orangeboxへコピー)
HL1MODの場合も同様にHL1エンジン系のものを適当にインストールし(Half-Lifeが手ごろ)やりたいMODをC:\hldsへコピーすればいい。

5.サーバーの起動をする 二種類あるが、後者のほうが楽。
手順3をしたあと

c:\srcds\srcds.exe -console -game cstrike +map de_dust2 +maxplayers 16 -autoupdate
と入力し、エンターキーを押すと立ち上がる(多分)

c:\srcds\srcds.exe -game cstrike
と入力するとGUIで鯖の設定をいじれる

orangeboxフォルダ内にコピーしたMODのサーバーを起動するときは

c:\srcds\orangebox\srcds.exe (以下略)

HL1エンジンのゲームの場合は

cd c:\hlds
と入力してから(これをやってからでないとエラーがでる)
c:\hlds\hlds.exe -console -game cstrike +map de_dust2 +maxplayers 16 -autoupdate

c:hlds\hlds.exe -game cstrike
と入力。

もしくはてきとうなテキストファイルをつくり

@echo off

cls

echo Protecting srcds from crashes...

echo If you want to close srcds and this script, close the srcds window and type Y depending on your >language followed by Enter.

title srcds.com Watchdog

:srcds

echo (%time%) srcds started.

start /wait srcds.exe -console -game cstrike +map de_dust2 +maxplayers 16

echo (%time%) WARNING: srcds closed or crashed, restarting.

goto srcds

を書き込み拡張子を.batにし、c:\srcdsに保存し起動するとそれだけで立ち上がり しかもサーバーが落ちたときリスタートするようになる。
※HL1エンジンのゲームの場合はsrcdsをhldsに置き換える。

ちなみにMODを起動させたい場合はcstrikeの所を起動させたいMODのフォルダの名前にし、mapをMODで使うマップに変えれば起動できる

・メリット
コマンドプロンプトを使うので一見PCがうまい人に見える
STEAMのプレイ時間が2倍にならない

・デメリット
初心者には少しむずかしい諸刃の剣 でもサルも教えれば出来る

steam validation rejectedというエラーが出る

サーバー側のゲームフォルダにsteam_appid.txtというファイルを作り、内容をここのゲーム名の横に書いてある数字にして保存。
この数字はSteamストアのアドレスの最後の数字と同じなのでSteamストアから調べてもOK
MODの場合はsteam_appid.txtの内容を70にする。

Dedicated Server、hldsupdatetoolのどちらを使う場合でも同じようにすることでエラーを回避できる。

・Counter-Strike 1.6の場合

サーバーのcstrikeフォルダ内に
ファイル名:steam_appid.txt
内容:10
で保存。

プラグインについて

Listen Serverで出来るのかどうかは知らないが、それ以外なら絶対出来るプラグイン導入

1.Metamod:Sourceへ行きDownloadsからAutomated Installerを落としてきて表示に沿ってインストール。
ZIP版でもいいけど色々めんどくさい インストール時はフォルダを指定すると楽
2.SourceModへ行きReleasesからsourcemod-x.0.0.zip(最新版)をダウンロードしてMetamod:Sourceと同じところへ解凍。
3.Pluginsから適当にいれたいプラグインを検索して拡張子がsmxのファイルをsourcemodフォルダの中のpluginフォルダに入れる
4.必要な場合はserver.cfgにプラグインの設定を書き込む
例:カントリーフィルターの場合
country filterへ行きAttached FilesからGet Pluginをクリックし保存 pluginフォルダに入れる
server.cfgに

cf_mode 1

cf_countries JP
と書き込む

すると日本以外の接続は全てはじかれるようになります

server.cfg

サーバーファイルの中にあるcfgフォルダの中にあるはずです なかったら作りましょう

server.cfgに書いておくべきコマンド

hostname "VIP de FPS" //サーバーの名前 この場合は表示されるサーバー名がVIP de FPSになる

sv_password vip //サーバーパスワード サーバーのパスワードの設定 この場合はvip

rcon_password "vipper" //rconパスワード ゲームに入ってコンソールからrcon_password vipperと入力した後rcon changelevel de_dust2などと入力すればゲームをしながらサーバーに命令が出せる。これがわかってしまうと色々悲惨なことになるのでペットの名前とかにしましょう

カスタムマップをDLさせる

たとえばzm_ship_b5.bspをDLさせようとする場合
適当にテキストファイルを用意し、中身を

"resources"

{

"maps/zm_ship_b5.bsp" "file"

}

とし、名前をzm_ship_b5.resにしてmapsフォルダに置く それだけ

hldsupdatetoolでサーバーを建てた場合は自分でFTPサーバーを用意し
sv_downloadurl "http://aiue.org/hl2mp" //http://以下は自分で設定する
を使ってダウンロードさせる
サーバーがhttp://aiue.org/hl2mpでzm_ship_b5をDLさせる場合は
sv_downloadurl "http://aiue.org/hl2mp/maps"としmapsにzm_ship_b5をアップロードする