サーバー講座

Last-modified: 2020-02-02 (日) 21:40:01

サーバー講座

(以前このテキストを書いて下さった方のサイトからの転記です)

現在lmk本人全くプレイしていないのでetpro3以降はさっぱりです。

多分よっぽどの事がない限り更新しません。

まぁ役に立ってるのかどうか謎ですしw

質問はiso6さんのサイト(Oops! RtCW)のサーバー立てに関する質問スレッド
にすることをおすすめします。

現役の方が沢山いるので。

ただ、質問するときマナーくらい守りましょう。

エラーは英語で書かれています。翻訳ソフトもあります。

日本語にすると分かってくると思います。

英語読めたらここ読む必要ないですがw

サーバーを立てるときはルーターの設定に注意して下さい。

一応この鯖講座lmkが書いたんですが(;´Д`)

nabeshin氏が書いたのはカスタムマップのところですよと小一時間t(ry

MOD選び

ETにはetmain、ETPro、shrubetの3種類確認しています。

etmainはETに付属、ETproはここ、shrubetはここで配布されています。

ちなみにshrubetは使ったことがないので、あしからず(w

ET関連リンク

http://cgi.f33.aaacafe.ne.jp/~rtcwet/ [テンプレ集]

http://www.hpp-users.net/ [ソースコード]

起動ファイル作成。

ETをサーバーモードで起動させるためbatファイルを作ります。

適当なエディタで下記の様に書きます。

ET.exe +set dedicated 2 +set net_IP XXX.XXX.XXX +set net_port XXXXX
+set com_hunkMegs 64 +set com_zoneMegs 24 +set vm_game 0 +exec server.cfg

etmainの場合、普通にHostGameで作れば出来ます(;´д`)

net_IPのXXXに、IPアドレスまたはDDNS、net_portに使用するポートを入れます。

ETproの場合は

+set fs_game etpro

を追加します。

ET.exe +set fs_game etpro +set dedicated 2 +set net_IP XXX.XXX.XXX
+set net_port XXXXX +set com_hunkMegs 64 +set com_zoneMegs 24
+set vm_game 0 +exec server.cfg

これを書き終わったら拡張子をbatにして保存。

サーバーを立てたいときこれをクリックするとサーバーが立ちます。

サーバー設定

つぎにetmainのフォルダにあるserver.cfgをエディタで開きます。

set dedicated "2"
set net_ip "XXX.XXX.XXX.XXX"
set net_port "27960"

1にするとLAN公開用、2にするとインターネット公開用になります。

以下の set net_ipとset net_port は2つ以上の鯖を立てる場合だけ書くようです。

よく見ると最初はコメントアウトされてますね_| ̄|○

iso6さんの記事より(Oops! RtCW)

IPアドレスまたはDDNSのドメインを入力します。

使用するポート番号を入れます。

// PASSWORDS & CLIENTS
set sv_maxclients "20" //最大接続可能数です。ETのHelpを見ると32人でCPU1G必要らしいです。
set g_password "" //パスワードを書きます。空欄でパスなし。
set sv_privateclients "4" //プライベート接続最大人数です。
set sv_privatepassword "" //プライベートログイン専用パスワードです。
set rconpassword "" //リモートコンソール専用のパスワードです。~
set refereePassword "" //レフェリー専用パスワードです。
// DL, RATE
set sv_maxRate "13000" //
set sv_dl_maxRate "42000" //DLのスピード設定です。
set sv_allowDownload "0" //カスタムマップをダウンロードするかどうか。1:yes 0:no
set sv_wwwDownload "0" //HTTPから落とせるかどうかの設定です。1:yes 0:no
set sv_wwwBaseURL "" //HTTPのアドレスです。
set sv_wwwDlDisconnected "0" //サーバーからDLできる定員の数です。
set sv_wwwFallbackURL "" //
// MOTD ETC
set sv_hostname "ET Host"
set server_motd0 " ^NEnemy Territory ^7MOTD "
set server_motd1 ""
set server_motd2 ""
set server_motd3 ""
set server_motd4 ""
set server_motd5 ""

サーバーの名前を決めます。

中央寄せになります。

// MISC SETTINGS
set g_heavyWeaponRestriction "100" //重火器の制限を決めます。

これは%です。100にすると全員重火器が使えます。

例:50にすると28人サーバーで14人使えるという意味です。

set g_antilag "1" //アンチラグを有効にするか(1:Yes,0:No)
set g_altStopwatchMode "0" //
set g_autofireteams "1" //チームに入ったときFireTeamに誘うか(1:Yes,0:No)
set g_complaintlimit "6" //F1押されサーバーから追い出される時のF1の数です。
set g_ipcomplaintlimit "3" //これが↑かも
set g_fastres "0" //
set g_friendlyFire "1" //味方に攻撃が当たるかどうか(1:Yes,0:No)
//set g_gametype "4" //
set g_minGameClients "0" //最低人数です。
set g_maxlives "0" //何回死ねるかの数です
set g_alliedmaxlives "0" //Alliedの何人死ねるかの数です
set g_axismaxlives "0" //Axisの↑の数です
set g_teamforcebalance "1" //チームの人数を平等にするか(1:Yes,0:No)
set g_noTeamSwitching "0" //
set g_voiceChatsAllowed "4" //連続ではなせるボイスチャットの数です
set g_doWarmup "0" // ウォームアップをするか(1:Yes,0:No)
set g_warmup "30" // ウォームアップの時間
set g_spectatorInactivity "0" //
set sv_floodProtect "1" //
set sv_allowDownload "1" //
set sv_pure "1" //武器の数を制限するかどうか(1:Yes,0:No)
set sv_minping "0" //サーバーが許可する最小Ping値です。
set sv_maxping "400" //サーバーが許可する最大Ping値です。
set match_latejoin "1" //途中参加を許可するかです(1:Yes,0:No)
set match_minplayers "4" //ゲームを始める最低人数です。
set match_mutespecs "0" //specs状態でチャットができるかどうか?
set match_readypercent "100" //F3を押してゲームを始めるときの投票率です
set match_timeoutcount "0" //プレイヤーのタイムアウト時にサーバーから落とす時間です。
set match_warmupDamage "0" //ウォームアップ時の攻撃範囲です()
set team_maxplayers "0" //チームの最大人数です 0で制限なし。
set team_nocontrols "1" //
set pmove_fixed "0" //
set pmove_msec "8" //
// LMS ONLY SETTINGS
set g_lms_teamForceBalance "1"
set g_lms_roundlimit "3"
set g_lms_matchlimit "2"
set g_lms_currentMatch "0"
set g_lms_lockTeams "0"
set g_lms_followTeamOnly "1"

ラストマンスタンディングモードの時設定するところです。

キャンペーンモードは変更する必要ありません。

// VOTING
set g_allowVote "1" //Voteを有効にするかどうかです(1:Yes,0:No)
set vote_limit "5" //Voteの最低投票数です。
set vote_percent "50" //Voteの投票率です。
set vote_allow_comp "1" //キャンペーンモードのVoteを許可する(1:Yes,0:No)
set vote_allow_gametype "1" //ゲームタイプのVoteを許可する(1:Yes,0:No)
set vote_allow_kick "1" //プレイヤーのキックVoteを有効にする(1:Yes,0:No)
set vote_allow_map "1" //マップを変更する(?:YES,?:NO)
set vote_allow_matchreset "1" //マップをやり直す(?:YES,?:NO)
set vote_allow_mutespecs "1" // ???
set vote_allow_nextmap "1" //次のマップに移動する(1:Yes,0:No)
set vote_allow_pub "1" //パブにする(1:Yes,2:No)
set vote_allow_referee "0" //voteによってrefreeを選出する?(?:Yes,?:No)
set vote_allow_shuffleteams "1" //XPの差によってチームメンバーをシャッフルする(1:Yes,0:No)
set vote_allow_swapteams "1" //チームを交換する(?:YES,?:NO)
set vote_allow_friendlyfire "0" //味方のあたり判定を変える(1:Yes,0:No)
set vote_allow_timelimit "0" //時間制限を変える(1:Yes,0:No)
set vote_allow_warmupdamage "1" //ウォ-ムアップ時のあたり判定を変える(1:Yes,2:No)
set vote_allow_antilag "1" //アンチラグを変える(1:Yes,0:No)
set vote_allow_balancedteams "1" //バランスチームを変える(1:Yes,0:No)
set vote_allow_muting "1" //プレイヤーにMuteをかける(1:Yes,0:No)
// PUNKBUSTER 
// sv_punkbuster is a readonly variable. Use +set sv_punkbuster on command line or use the command pb_sv_enable in the console.
//pb_sv_enable
//exec punkbuster.cfg // Punkbuster Settings

ここもよく分かんないです_| ̄|○

// LOGGING
set g_log "etserver.log"
set g_logsync 0
set logfile 0

ログの設定です。ログのファイル名が変えられます。ここもよく分かんないです(w

// MAP ROTATION SCRIPT
exec campaigncycle.cfg

ここもレベル不足です(w

// WATCHDOG
// in case the game dies with an ERR_DROP
// or any situation leading to server running with no map
//set com_watchdog 10 // defaults 60
set com_watchdog_cmd "exec campaigncycle.cfg" // defaults to quit

ここもいまいち(w

追加項目

set g_speed "230" //移動スピードです。万にすると瞬間移動します(w
set g_gravity "800" //重力設定です。0にすると重力がなくなります。
set g_CovertOpsChargeTime "0" //
set g_EngineerChargeTime "0"
set g_MedicChargeTime "0"
set g_SoldierChargeTime "0"
set g_LTChargeTime "0"

3行目からCo、Eng、Medic、Soldier、Foの
チャージスピードです。~0にすると常にチャージバーがMax状態です(w

PunkBusterの設定

PunkBusterとはチートユーザーをサーバーから排除するプログラムです。

ETのPBはここから最新版が落とせます。

punkbuster.cfgをエディタで開きます。

//PunkBuster Server config
//
//Thanks to those on the SplashDamage forums for their contribution.
//Compiled by Erik Melen (Deveus) and Paul Goldilla (loony)
//
//Enable Punkbuster
pb_sv_enable
//Bad Names list
//Place any names that you feel players should not use on your server in here.
//To add more bad name entries, simply follow the format shown below.
pb_sv_badname 30 Nazi
pb_sv_badname 30 Hitler

この場合は名前にNazi、Hitlerを含むキャラをサーバからキックします。

pb_sv_badname 30 LmK

と書くと私がそのサーバーに入るとBadNameになりサーバーから蹴られます(;´д`)

//CVARs for the PB server to check. Place checks to keep players from abusing  CVARs.
pb_sv_cvarempty
pb_sv_cvar rate in 2500 25000
pb_sv_cvar snaps in 20 40
pb_sv_cvar cl_maxpackets in -15 100
pb_sv_cvar cg_bobup in 0 0.005
pb_sv_cvar r_picmip in 0 3
pb_sv_cvar r_overbrightbits in 0 4
pb_sv_cvar r_mapoverbrightbits in 0 4
pb_sv_cvar cg_shadows in 0 1
pb_sv_cvar r_rmse in 0 0
pb_sv_cvar cg_fov in 90 120
pb_sv_cvar r_allowextensions in 1
pb_sv_cvar r_softwareGL in 0
pb_sv_scorekick -9     //player gets kicked for having score below zero
pb_sv_CQC 1 //Client Query Capability (i.e. can they query the server cvars)
pb_sv_MsgPrefix "ET PB Server"
pb_sv_KickLen 5
pb_sv_LogSync 0
pb_sv_LogCeiling 1000
pb_sv_Sleep 100
pb_sv_PowerMin 10
pb_sv_PowerDef 1
pb_sv_PowerKickLen 5
//pb_sv_httpAddr 192.168.0.1  //enter Webtool address here
//pb_sv_httpPort 27970        //enter Webtool port here
//pb_sv_httpRefresh 60
//pb_sv_httpKey "Put Password Here"
//pb_sv_httpmaps radar railgun fueldump oasis battery goldrush   //for the Web Tool map pull down menu
pb_sv_extChar 0
pb_sv_minName 1
pb_sv_dupNameGrace 30 //Prevents name stealing on the server.
pb_sv_changePeriod 10
pb_sv_changeMax 5 //Number of name changes before kicking a player.
pb_sv_emptyname 1

ETProオンリー

b_defaultskills "0 0 0 0 0 0 0"

初期のスキル値です。

左からBattleSense、Engineering、FirstAid、Signals 、LightWeapons、HeavyWeapons 、CovertOpsです。

b_levels_battlesense "20 50 90 140"
b_levels_covertops ""
b_levels_engineer ""
b_levels_fieldops ""
b_levels_lightweapons ""
b_levels_medic ""
b_levels_soldier ""

各スキルのレベルアップまでのXP値です。

デフォルトは一番上、レベル3、4に行かせない場合は"20 50"、

Medicの完全回復注射器を使わせたくない場合"20 50 -1 140"

b_noskillupgrades 1 //1にすると全てのスキルがアップしなくなります。
team_maxFlamers 0
team_maxMG42s 0
team_maxMortars -1
team_maxPanzers -1

この場合火炎放射器とMG42は使えますが、パンツとモーターは使えなくなります。

set b_banners 4
set b_bannerlocation 4
set b_bannertime 30
set b_banner1 "This is banner number 1"
set b_banner2 "Banner number 2 is being displayed"
set b_banner3 "Now banner number 3 is shown"

ETのプレイ中に表示する文字を設定します。

1行目から表示されるバナーの数、バナーの位置(0:ボイスチャットの位置、1:Kill表示の位置、2:ダイナマイトを仕掛けるとき表示される位置、3:コンソールだけ表示、4:画面の一番上)
バナーの表示時間、バナーの文字の内容です。

set b_intermissiontime 60

ミッション終了時のチャット画面のを表示する時間(秒)です。

マップローテーション設定の仕方~

初期ではOasisから始まるNorthAfricaのキャンペーンです。

これを自分のオリジナルサイクルにしたい場合は、別にpk3ファイルを作ります。

LMLサーバーではlmlstyle.pk3というファイルが動いています。

まず、適当なエディタで↓を書きます。

{
 	name			"LML-Style"
	shortname		"cmpgn_allmaps"
	description		"Aty&Acolyte are HahHah! Aty is God! God is Aty!"
	maps			"battery;railgun;radar;goldrush;oasis;fueldump"
	mapTC			374 374
	type			"wolfmp"
}

NameはMap読み込むとき右側に表示されるタイトルです。あまり長いとはみ出すので注意。

ShortNameは後のcampaigncycle.cfgファイルの所に書く名前です。

descriptionはロード中に表示される説明です。日本語だとOopsなことになると思われます。

Mapsはマップのローテーションです。↑ではBattery、RailGun・・・という設定になっています。

例えばカスタムマップのTemple3をFuelDumpの次に入れたい場合は

maps			"battery;railgun;radar;goldrush;oasis;fueldump:temple3"

と入れます。

mapTCはよく分かりませんが、キャンペーンの場合は374 374にしておいてください。

typeもそのままでいいです。

次にそのファイルの拡張子をcampaignにして保存。例:bani-all.campaign

空の"scripts"フォルダを作成し、上記の拡張子がcampaignのファイルをその中にコピーします。
そして、そのscriptsフォルダをzip圧縮します。ご存じの通りpk3ファイルはzipファイルです。

最後に拡張子のzipをpk3に変えれば終了です。

補足>
カスタムマップを読み込ませるときの名前を正確に書かないとエラーになります。

正確な名前が分からないときは、カスタムマップのpk3をzip解凍すると中に****..arenaというファイルがあるのでそれをエディタで開き

map			"****"

の****をコピペすればok。

次に
campaigncycle.cfgをまたもや適当なエディタで開きます。

set d1 "campaign cmpgn_northafrica ; set nextcampaign vstr d2"
set d2 "campaign cmpgn_centraleurope ; set nextcampaign vstr d1"
// server doesn't recognise the campaign command when the gamecode isn't  running yet.
set d_initial "set g_gametype 4 ; map oasis ; set nextcampaign vstr d2"
vstr d_initial

先ほど作ったpk3のshortnameをcmpgn_northafrica、cmpgn_centraleuropeの部分にいれます。次に↑ではMapの最初がBatteryなので

set d_initial "set g_gametype 4 ; map oasis ; set nextcampaign vstr d2"

の部分を

set d_initial "set g_gametype 4 ; map battery ; set nextcampaign vstr d2"

と書き直します。多分これでok。実はここら辺は私も分かりません(w
情報求む(w

Console操作
etproでしか確認してないのであしからず。

bp <text>クライアントのバナー(いちばん上の真ん中)の位置にtextを表示させる。
cp <text>クライアントのセンター(ペンチが表示されるところら辺)の位置にtextを表示。
qsay <text>クライアントのクイックチャットの位置にSever:textを表示。

最後に
変なところがあったら教えてください。
編集:nabeshin[LML]