検証できてないけど一旦コミット
https://www.rendgame.com/server-instructions
https://survivalservers.com/wiki/index.php?title=How_to_Create_a_Rend_Dedicated_Server_Guide
サーバーの起動方法
1. 「Download SteamCMD from here」のhereをクリックしてSteamCMDをダウンロード、任意の場所に解凍する
2. [Windowsキー] → cmd → [Enterキー] でコマンドプロンプトを開く
3. cdコマンドでSteamCMDを解凍したディレクトリに移動する。パスはディレクトリをコマンドプロンプトにドロップすると自動入力される。以下例。
cd /D C:\Users\username\Downloads\steamcmd
4. steamcmdコマンドを実行してファイルを自動ダウンロード"D:\RendServer" は任意のディレクトリを指定する。無くても勝手に作成される。
steamcmd +login anonymous +force_install_dir D:\RendServer +app_update 550790 -beta public +quit
5. エクスプローラーからインストールしたディレクトリへ移動し、SampleConfigurationディレクトリに入っている3つのコンフィグファイルを Otherlands/Saved/Config/WindowsServer 配下にコピーする。
6. 以下の通りファイルの名前を変更する
変更前 | 変更後 | (補足)ファイルの内容 |
SampleGame.ini | Game.ini | サーバー上のエクスペリエンスを調整するために使用できるすべてのサーバーカスタマイズパラメータが含まれています |
SampleServer.ini | Server.ini | サーバーを管理するための変数がいくつかあります |
SampleEngine.ini | Engine.ini | サーバーとネットワークのパフォーマンスを調整するための設定がいくつか含まれています |
7. 各設定ファイルをテキストエディタで編集する(内容は後述)
8. RendServer.bat ファイルをテキストエディタで編集する
%~dp0Otherlands\Binaries\Win64\OtherlandsServer-Win64-Shipping.exe -log BeaconPort=15000 Port=7777
オプション | パラメタ | 初期値 | 意味 |
-log | なし | 指定あり | (未確認)ログを出力する設定 |
BeaconPort= | ポート番号 | 15000 | クライアントがサーバーにpingを打つときのポート番号を指定する |
Port= | ポート番号 | 7777 | 実際にゲームに接続してもらう際のポート番号を指定する。BeaconPortと重複しても立ち上がりはするが、どうも直近の別ポートに割り当てられ直されている気がする。 |
-NoEAC | なし | 指定なし | 指定すると EasyAntiCheat 機能が無効になる |
-userdir | ディレクトリパス | 指定なし | サーバーの構成ディレクトリを変更する |
-multihome | IPアドレス | 指定なし | サーバーがバインドするネットワークインターフェイスIPを変更する |
-maxplayerslots | 整数値 | 指定なし | サーバーの上限人数を設定する。派閥の人数とは別。 |
9. RendServer.bat ファイルを実行してサーバーを起動する
10. ルーター等で BeaconPort 及び Port で指定したポートの TCP と UDP を開放する
※ 起動後数分して、ログに「]LogServerGatekeeper: Sending update to index server...」と出始めたらサーバー一覧にリスト掲載される。(実測したところ2分20秒程度、環境により変わると思われる)
サーバーの停止方法
1. 起動時に開くプロンプトのうち OtherlandsServer-Win64-Shipping (64bitの場合)のプロンプトで Ctrl+C を押下する。
自分のPCからサーバーにアクセス出来ない場合
通常特に設定等しなくてもサーバー機上で動かしたクライアントから接続が可能だが、繋がらないケースが存在するらしい?
https://community.rendgame.com/discussion/721/about-dedicated-server
1. 起動用の RendServer.bat バッチファイルに -multihome = ローカルIPアドレス を指定する
※このとき、外部からはサーバーに参加できなくなる?
また、サブネット内の別PCでホストする場合、
https://community.rendgame.com/discussion/721/about-dedicated-server
Google翻訳
1:異なるIPを持つ2台のPCを持つホスト。
2:この状態では、両方ともホストサーバーに接続できません。
3:1台のPCの起動時のBatファイルにマルチホーム= 127.0.0.1を書き込みます。
4:別のサーバーがmultihome = 127.0.0.1を記述したサーバーにアクセスします。
5:それから私は何とか私のホストされたサーバーにアクセスします。
私はこれについて説明することはできません。
しかし、正解ではありませんが、私は自分自身にアクセスすることができます。
以下は各設定ファイルの内容
- Game.ini
※このファイルのみインストール確認時点で改行コードがLFだったので注意。Server.iniはCR+LFだったのでどちらでも問題無いかも。オプション パラメタ 初期値 意味 SpiritsForVictory= Spiritsの値 100000.0 ゲームの勝利条件であるSpiritsの収集量 XpPerSoul= 経験値数値 50.000000 Soulあたりの経験値量 ServerName= サーバー名文字列 "Sample Rend Server" サーバー名を指定する ServerDescription= 文字列 "Optional brief description goes here" サーバーの説明文を指定する FactionLimit= 整数値 20 ファクションあたりの入場可能人数を指定する ServerPassword= 文字列 testpassword サーバーに参加するためのパスワード文字列を指定する。またデフォルトコメントアウトされているので、有効にする場合には戦闘のセミコロンを削除する TimeZoneUTCOffset= 整数値 0 タイムゾーンのUTCからのオフセット値を指定する。日本の場合は 9 WaveScheduleDays= (週,時間,分) (DayOfWeek=2,Hour=9,Minute=0)
(DayOfWeek=3,Hour=19,Minute=30)レコニングを実施する曜日と時分を指定する。複数行指定することで複数回分設定できる。DayOfWeekは月曜=0~日曜=6 ReckoningServerAgeRequirement= 期間 +00000001.00:00:00.000000000 (Days.Hours:Minutes:Seconds.Milliseconds)
(未検証)レコニングが有効になるまでのサーバー稼働時間WaveTimeScalar= 1.000000 値を大きくするとレコニングの難易度が遅くなる(?) WarningStageDuration= +00000000.01:00:00.000000000 (Days.Hours:Minutes:Seconds.Milliseconds)
指定した時間前からレコニングの警告を発するPVPStageDuration= 期間 +00000000.01:00:00.000000000 (Days.Hours:Minutes:Seconds.Milliseconds)
レコニング後のPvP時間がどれだけ続くかを、レコニング開始時点からの時間で指定するRespawnDelayWindow= 秒指定 600.000000 この時間生存するとリスポーンディレイ時間が累積していた場合に、累積時間をリセットする(?) RespawnDelayIncrement= 秒指定 10.000000 次回リスポーン時間に加算する量(?) MinRespawnDelay= 秒指定 5.000000 最小リスポーンディレイ時間 MaxRespawnDelay= 秒指定 60.000000 最大リスポーンディレイ時間 ForceRespawnDelay= 秒指定 300.000000 強制リスポーンディレイ時間、リスポーン可能になってもこの時間立った場合は強制的にリスポーンされる SprintMovementScalar= 倍率 4.000000 スプリントで走る際の速度倍率を指定する bSafeLogoff= 真偽値 False ファクション拠点外でログアウトした場合に、しばらくキャラクターをその場に残さない場合には True を指定する。 bNoLootPlayers= 真偽値 False プレイヤーが他プレイヤーの物を奪えないようにする場合は True を指定する bNoFactionShields= 真偽値 False ファクションシールドをレコニング時以外も無効にする場合は True を指定する XPMultiplier= 1.000000 以下各種倍率設定 SkillXPMultiplier= 1.000000 PlayerHealthMultiplier= 1.000000 CreatureHealthMultiplier= 1.000000 ResourceSpawnSpeedMultiplier= 1.000000 CreatureSpawnSpeedMultiplier= 1.000000 CreatureSenseRadiusMultiplier= 1.000000 CreatureLevelScalar= 1.000000 TreeDamageToSoulScalar= 0.04 MaxEncumbranceMultiplier= 1.000000 CraftSpeedMultiplier= 1.000000 ResearchMultiplier= 1.0000 ReckoningTimeMultiplier= 1.000000 StructureHealthScalar= 1.000000 StructureArmorScalar= 1.000000 HarvestMultiplier= 1.000000 RareResourceHarvestMultiplier= 1.000000 StackCountScalar= 1.000000 HarvestDamageMultiplier= 1.000000 DurabilityDamageMultiplier= 1.000000 DamageMultiplier= 1.000000 PvpDamageMultiplier= 1.000000 PveDamageMultiplier= 1.000000 FriendlyDamageMultiplier= 1.000000 DamageToPlayerMultiplier= 1.000000 DamageToCreatureMultiplier= 1.000000 DamageFromPlayerMultiplier= 1.000000 DamageFromCreatureMultiplier= 1.000000 SiegeDamageMultiplier= 1.000000 PlayerSiegeDamageMultiplier= 1.000000 EnvSiegeDamageMultiplier= 1.000000 PetPvpIncomingDamageScalar= 1.000000 PetPvpOutgoingDamageScalar= 1.000000 PetPveIncomingDamageScalar= 1.000000 PetPveOutgoingDamageScalar= 1.000000 MaximumPlayTimeForDeleteMinutes= 分指定 120.000000 プレイヤーデータを削除できるまでのプレイ時間(?) MaximumDeletesPerAccount= 回数 1 プレイヤーデータを削除できる回数(?) ReservedSlotAuthIds= STEAM64 ID "[STEAM64 ID HERE]" デフォルトコメントアウト、サーバー満員時でもサーバーに入れるプレイヤーをSteam64 IDで指定するものと思われる。複数行指定することで複数人を設定できる。
- Server.ini
オプション パラメタ 初期値 意味 AdminAuthIdWhitelist= STEAM64 ID "STEAM64 ID HERE" STEAM64 ID HERE の文字を消して、Steamアカウントの64bit UUID を指定することで管理者権限を与えることができる。複数行指定することで複数人に管理権限を付与できる。
Steam IDの調べ方は "SteamID64 確認"とか適当にググれば出てくる。CheatAuthIdWhitelist= STEAM64 ID "STEAM64 ID HERE" チート権限を与えるユーザーを指定する。指定方法は上に同じ。 GlobalAllowCheats= 真偽値 False チートは許可するが、管理コマンドは許可しない場合は True にする
- Engine.ini
※設定なしオプション パラメタ 初期値 意味 --- --- --- ---