RCONは同一ポート

Sven Co-op 工房

古典 coop キャンペーン · coop キャンペーン / GoldSrc

収録プレイヤーツール:5 種 管理者コンソール:7 種

Sven Co-op サーバー早見表:GoldSrcエンジンで、専用サーバーappid 276060はWindowsとLinuxの両方でネイティブに動作しWineは不要。公式の表は3つの通信しか登録していない:27015/UDP(引数 -port)がゲーム通信・カスタムコンテンツ転送・リモートコンソールRCONを同時に担い、27015/TCPはRCONの旧経路で公式がlegacy, no longer necessaryと明記し、26900/UDP(引数 -sport)はValveアンチチートVACのサービス通信で、使用中なら次の空きポートへ自動で繰り上がるため26900は開始値にすぎない。RCONに専用ポートは無く、秘密情報はserver.cfgのrcon_passwordに書き、空欄ならリモートコンソールは無効になる(公式は「誰でも入れるようになるわけではない」と強調している)。設定ファイルはすべてsvencoopフォルダ配下:server.cfg、mapvote.cfg、skill.cfg、banned.cfg、listip.cfg、mapcycle.txt、motd.txt、admins.txt、default_plugins.txt、そしてlogsフォルダ。server.cfgはコマンドラインで+servercfgfileを宣言して初めて読み込まれる。admins.txtは1行1つのSTEAM_X:Y:Z(17桁のSteamID64ではない)で、行頭のアスタリスクはオーナー表示(公式によれば見た目のみで追加権限は無い)、ハッシュ以降はコメント。本作はSteam Workshop非対応で、公式FAQは将来の予定かつ現時点で優先度は高くないとし、カスタムコンテンツはsv_downloadurlとsv_allowdownloadでHTTP配信する。起動はLinuxでsvends_run、WindowsでSvenDS.exeであり、Source系のsrcds_runではない。送信側の要件も1つある:サーバーまたは上流ファイアウォールが gameinfo.svencoop.com へのHTTPS(TCP 443)を許可する必要がある。公式文書はwiki.svencoop.comのRunning a server全7ページ(導入・起動・設定・接続性・応用・カスタムマップ導入・概要)。

プレイヤーツール(5)

その場で使える計算ツールとレシピ導出

サーバー管理と設定生成(7)

設定ファイル、起動スクリプト、コマンドウィザード

Sven Co-op ポートとプロトコル

ポート プロトコル 用途
27015 UDP ゲーム通信、カスタムコンテンツ転送、RCONが同じUDPポートを共有
26900 UDP Valveアンチチート(VAC)サービスの通信。26900は開始値にすぎず、使用中なら次の空きポートへ自動で繰り上がる
27005 UDP Steamクライアント通信用ポート。公式のポート表には無くLinuxGSMだけが明示的に渡すため、当サイトでは任意とする

Sven Co-op 専用サーバーのインストール(SteamCMD)

SteamCMD appid 276060

sudo useradd -m -s /bin/bash steam
sudo apt update && sudo apt install -y steamcmd lib32gcc-s1
sudo -u steam -i \
  /usr/games/steamcmd +force_install_dir /opt/gameserver \
  +login anonymous +app_update 276060 validate +quit

https://wiki.svencoop.com/wiki/Running_a_server

Sven Co-op 設定ファイルのパス

  • svencoop/server.cfg
  • svencoop/listenserver.cfg
  • svencoop/mapvote.cfg
  • svencoop/skill.cfg
  • svencoop/banned.cfg
  • svencoop/listip.cfg
  • svencoop/mapcycle.txt
  • svencoop/motd.txt
  • svencoop/admins.txt
  • svencoop/logs/
  • svencoop/default_plugins.txt

運用上の注意

まず訂正すべき旧説:26900はHLTVポートでも追加のクエリポートでもない。公式のポート表は26900/UDPをValveアンチチートVACのサービス通信(引数 -sport)と明記し、使用中なら次の空きポートへ自動で繰り上がると述べている。よって26900は開始値にすぎず、実際の待受ポートはより高い可能性がある。HLTVに対応するのはcvarのsv_proxies(公式既定0)である。第二に、RCONに専用ポートは無い。公式表は27015/UDPを「ゲームとコンテンツ転送、リモートコンソール(RCON)の通信」と記述し、AMPもこの1ポートをServer and RCON Portと名付けAdminMethodをGoldSrcRCONとしている。27015/TCPはRCONの旧経路でno longer necessaryと明記されるため、当サイトは既定で規則を出さない。rcon_passwordを空欄にするとリモートコンソールは無効になり、公式は「誰でも使えるようになるわけではない」と強調している。上流のAMPはrcon_passwordをcfgとコマンドライン(+rcon_password)の両方に書く点に注意。Linuxではコマンドラインの秘密情報を同一マシンの利用者がプロセス一覧から読めるため、server.cfgに書く方が安全である。起動はLinuxでsvends_run、WindowsでSvenDS.exeであり、Source系のsrcds_runではない。エンジンはGoldSrcで、専用サーバーappid 276060 のoslistは windows,linux なので両プラットフォームともネイティブ対応しWineは不要。配布形態は2つ:Steamツール(起動名 svends.exe / svends_i686)とSteamCMD単体アプリ(起動名 SvenDS.exe / svends_run)で、公式は両者を別欄で説明し用途が異なる。設定ファイルはすべてsvencoopフォルダ配下にあり、server.cfgはコマンドラインで+servercfgfileを宣言して初めて読み込まれる。フォルダに置くだけでは不十分である。bannedcfgfileやlistipcfgfileを変えたならserver.cfgの対応するexec行も合わせる必要がある。公式は両者が一致すべきだと述べ、そうでないとBANリストが黙って読み込まれない。複数インスタンスに再インストールは不要で、公式のprofiling構成は svencoop/servers/<profile>/、例のポートは 27015 / 27025 / 27035 / 27045(步長10)、共有できるのは.cfgのみ、設定はgameフォルダ内に置く必要がある。公式は5つのcvar(sv_spectator_password、allow_spectators、sv_alltalk、sv_spectalk、mp_fraglimit)を現在obsoleteと明記するが、上流パネルは今も公開しているため、これらを変更しても期待される効果は無い。本作はSteam Workshop非対応(公式の文言:将来の予定、現在は優先度が高くない)で、カスタムコンテンツはsv_downloadurlとsv_allowdownloadによるHTTP配信、レートはsv_maxrate・sv_minrate・sv_lan_rateで制御する。送信側の要件も1つあり、gameinfo.svencoop.comへのHTTPS(TCP 443)を許可する必要がある。公式のConsole/Commands頁は284のコマンド名を列挙するがSource・Category・Cheat・Descriptionの4列は空のため、当サイトは名前のみを登録し説明は書かない。公式は組み込みの管理機能が現状チートコマンドの利用のみだと述べ、それ以外はdefault_plugins.txtに列挙するAngelScriptプラグインで提供する。クエリについては、node-gamedigに本作の項目が今回確認できなかったため、それに基づくサードパーティのクエリツールは見つけられないことがある。これはサーバーの健全性とは無関係である。

よくある質問

Sven Co-op にはどんなオンラインツールがありますか?
当サイトでは Sven Co-op 向けに 5 個のツールを公開しています:参加と2種類のサーバー、接続トラブルシュート、ハードウェアとリソース、カスタムコンテンツのダウンロード、投票システム。すべてブラウザでそのまま使えます。
これらのツールは有料ですか?インストールは必要ですか?
どちらも不要です。すべてページ内で動作し、インストール・登録・料金は一切ありません。値を入力すればすぐに結果が出て、生成された設定やコマンドはワンクリックでコピーできます。