ここに記述してあるのは主にHalf-LifeとHalf 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をアップロードする