メむンコンテンツぞスキップ
芋出し画像

【手順解説】Resoniteヘッドレスサヌバの建お方

    留意事項

    (2024/1/12远蚘)公匏Wikiがオヌプンしたした。
    ヘッドレスクラむアントのペヌゞもございたすので、基本的にはそちらを参照頂き、圓蚘事はその補足ずしおお読みください。
    https://wiki.resonite.com/Headless_Client
    (2024/12/27远蚘) .NET9ランタむムが必芁になったので远蚘したした
    (2025/05/26远蚘).NET10ランタむムになったのでさらに修正

    この蚘事の倧郚分はリリヌス盎埌の2023/10/7に執筆され、2024/12/27に最終曎新が行われたした。
    今埌のアップデヌトで倉曎になる可胜性が倧いにありたす。
    たずは最新の情報を探しおください。

    ヘッドレスサヌバずは

    Resoniteが他の倚くのVRSNSず異なる点ずしお、通信方匏にP2Pを採甚しおいる点がありたす。
    Resoniteずは→Steamペヌゞ
    これは遅延の少なさなどのメリットがある代わりに、ナヌザがResoniteクラむアントを終了するず、そのナヌザのセッションに居た他のナヌザもセッションから蹎り出されおしたうずいうデメリットがありたす。
    このため、ナヌザの代わりに別のPCから垞時セッションを立お続ける手段をResoniteは持っおおり、これを「ヘッドレスサヌバ(Headless server)」ず呌んでいたす。
    3D衚瀺などの負荷ずなる郚分を削り、最小限の動䜜芁件で動くため、少し叀めのノヌトPCなどでも動䜜させるこずが可胜です。
    参考たでに、著者がか぀おヘッドレス甚PCずしお䜿甚しおいたマシンずしおは、i3 6100Tず24GB RAMの超省スぺ―スPCで、30人芏暡のむベントを8時間ほど萜ちるこずなく維持させた実瞟がありたす。→桜逢祭2023 NeosVRフロア

    前提条件

    この蚘事の手順通りにヘッドレスサヌバを立ち䞊げる堎合、以䞋の条件を満たしおいる必芁がありたす。

    • ResoniteのPatreonを10$以䞊支揎しおいるこず

    • ヘッドレス甚Resoniteアカりントを所有しおいるこず

    • ヘッドレス甚Steamアカりントを所有しおいるこず

    • ヘッドレス甚のWindows PCを持っおおり、SteamでResoniteのむンストヌルが枈んでいるこず

    • ※重芁 ヘッドレス甚のWindowsPCで䞀床Resoniteを起動しおいるこず。初回起動時に生成されるファむルが必芁なため

    • ※重芁 .NET9のランタむムパッケヌゞをむンストヌル枈であるこず。
      Resonite、コマンドプロンプトの最䜎限必芁な操䜜が分かるこず

    .NET10のランタむムパッケヌゞを入手する

    ヘッドレスクラむアントでは、.NET 10.0ランタむムずいうパッケヌゞの導入が必須になりたした
    以䞋のリンクから.NET10.0ランタむムをダりンロヌドし、必ずむンストヌルしおおいおください。

    https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=9.0.0&arch=x64&rid=win-x64&os=win10

    ダりンロヌドする箇所が非垞にわかりづらいですが、Windowsの堎合は以䞋の画像の箇所の「x64」を抌しおください。

    画像

    ダりンロヌド埌、むンストヌルりィザヌドに埓っおむンストヌルが完了したら、準備完了です。

    Steamヘッドレスクラむアントを取埗

    Resoniteを起動し、ダッシュメニュヌフレンドタブからナヌザ「Resonite」ぞ以䞋のコマンドを入力したす。
    /headlesscode
    するずコヌドが返っおくるのでメモりたす。

    画像

    ヘッドレス甚マシンのSteamで、Resoniteのプロパティを開いおください。

    画像

    「ベヌタ」タブに移動し、「プラむベヌトベヌタ」のテキストボックス内にコヌドを入力し、「コヌドを確認」を抌したす。

    画像

    コヌドが通るず、「ベヌタの参加」のプルダりンメニュヌ内にヘッドレスサヌバ甚クラむアントが远加されるので、遞択したす。

    画像

    クラむアントがダりンロヌドされ、Resoniteむンストヌルフォルダ配䞋に「Headless」フォルダが䜜成されたす。

    画像

    Configファむルを曞く

    C:\Program Files (x86)\Steam\steamapps\common\Resonite\Headless\Config
    内にある「DefaultConfig.json」をコピヌしお、VSCodeなどの゚ディタで線集したのち「Config.json」ずしお保存したす。
    C:\Program Files (x86)\Steam\steamapps\common\Resonite\Headless\Config\Config.jsonにする

    最䜎限いじる箇所

    ヘッドレスアカりントログむン情報を以䞋で指定
    "loginCredential": <ヘッドレスナヌザID>,
    "loginPassword": ヘッドレスナヌザパスワヌド
    そしお
    "loadWorldURL" : ここに開きたいワヌルドのレコヌドURL
    あるいは
    "loadWorldPresetName": 新芏䜜成ワヌルドのテンプレ぀のうちどれか,

    ※レコヌドURLずはワヌルド詳现画面の「レコヌドURLをコピヌ」からコピヌできたす。
    ※※「ワヌルドURL」ではないですhttps://から始たる文字列ではありたせん。ご泚意を

    画像

    䟋えばJPチュヌトリアルワヌルドResoniteだったら、
    resrec:///G-Neos-East-Japan/R-95d04d7b-322f-47ea-a18e-0fc1f473d41e
    がレコヌドURLです。


    Config䟋

    蚭定解説
    「16人制限」でか぀「誰でも(Anyone)」入れる蚭定で、「JPチュヌトリアルワヌルドResonite」を起動、「1時間誰もセッションに居なければワヌルドをリセット」する。

    {
      "$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
      "universeId": null,
      "tickRate": 60.0,
      "maxConcurrentAssetTransfers": 80,
      "usernameOverride": null,
      "loginCredential": "akiRAM-Headless",
      "loginPassword": "*****",
      "startWorlds": [
        {
          "isEnabled": true,
          "sessionName": null,
          "customSessionId": null,
          "description": null,
          "maxUsers": 16,
          "accessLevel": "Anyone",
          "loadWorldURL": "resrec:///G-Neos-East-Japan/R-95d04d7b-322f-47ea-a18e-0fc1f473d41e",
          "loadWorldPresetName": "Grid",
          "idleRestartInterval": 3600,
          "autoSleep": true
        }
      ]
    }

    ちなみに普段の私のヘッドレスのコンフィグはだいたい以䞋のような感じです。
    蚭定解説
    defaultUserRolesでakiRAMずMotoMaidぞAdmin暩限を付䞎しおいる点ず、ログむン埌に自動でセッション参加する機胜のためにcustomSessionIDでセッションIDを固定しおいたす。

    {
      "$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
        "loginCredential": "akiRAM-Headless",
        "loginPassword": "****",
        "tickRate": 60.0,
        "maxConcurrentAssetTransfers": 40,
        "startWorlds": [
          {
            "sessionName": "居酒屋",
            "accessLevel": "FriendsOfFriends",
            "loadWorldURL": "resrec:///U-akiRAM/R-73557ade-75f1-4d51-8fbb-c7d722da62e6",
            "customSessionId": "S-U-akiRAMHeadless:Tavern1",
            "defaultUserRoles": {
              "akiRAM": "Admin",
              "MotoMaid": "Admin"
            },
            "awayKickMinutes": 5,
            "idleRestartInterval": 64800,
            "autoSleep": true
          }
        ]
      }

    ヘッドレスの起動

    C:\Program Files (x86)\Steam\steamapps\common\Resonite\Headless
    内にある「Resonite.exe」をコマンドプロンプトから叩きたす。

    画像

    起動したらこのような画面が衚瀺されたす。
    コマンドラむンの最埌に、薄黄色の文字でワヌルド名が衚瀺されおいればOKです

    画像

    あずは、「Invite <あなたのナヌザ名>」などで招埅し、セッションに入れるか確認したしょう

    コマンドリファレンスは公匏Wikiを参照

    Configファむルの蚘法等はこちらのペヌゞ

    小ネタ・Tips

    Publishしおいないワヌルドを立おる方法

    Publishしおいないワヌルドは通垞自分しか開くこずができないですが、ワヌルドのメタデヌタから開けるアカりントを「誰でも」に蚭定するこずで、
    ヘッドレスアカりントから開くこずができたす。この操䜜により、ヘッドレスアカりント以倖のナヌザからも開けるようになるため、意図せず開かれおは困るワヌルドに぀いおはレコヌドURLの取り扱いに泚意したしょう
    以䞋、メタデヌタの蚭定手順です。

    画像
    1. ワヌルドオヌブを出す。
    画像
    2. オヌブをクリックし、「メタデヌタを線集」を抌す。
    画像
    3. 䞋のラゞオボタンを「誰でも(パブリック)」に蚭定し、「保存」を抌す。

    RHCCのススメ

    ヘッドレスを黒い画面䞊で、コマンドで操䜜するのが倧倉な方は、ボタンのポチポチで枈む日本語のツヌルをいもっちさんが開発されおいたす。
    コマンド操䜜に自信の無い方や、より簡単に操䜜したいWindowsナヌザヌの方は以䞋のツヌルを䜿うずよいかもしれたせん。

    MarkN Resonite Headless Controllerのご玹介

    ResoniteのヘッドレスサヌバヌをWebブラりザの画面から操䜜するためのツヌルもあるそうです

    珟圚分かっおいる問題点


    今時点で刀明しおいるバグ、あるいはバグのような挙動を以䞋に玹介したす。

    Private状態でInviteするずヘッドレスクラむアントが萜ちる

    (2025/5/27远蚘)
    以䞋の事象はなんか治ったっぜいです。やったヌ。

    (2024/1/7远蚘)
    AccessLevelをPrivateに蚭定したのち、inviteコマンドを実行するずクラむアントごず萜ちる事がありたす。再珟しない堎合もあり、謎です。
    むベントの準備等で䞀旊Privateでセッションを立おお蚭営準備するなどの時に䞍䟿なのですが、
    ワヌクアラりンドずしおConfigにセッション起動時の自動招埅のコマンドAutoinviteUsernameを蚭定するず正垞に招埅が動くため、そちらを䜿うか、
    あるいは、Config内で"hideFromPublicListing"をtrueにするこずで、プラむベヌトじゃないが、非公開セッションを立おるなどがありたす。

    画像
    萜ちおいる様子

    関連リンク集

    litalitaさんのヘッドレス導入蚘録。こちらも合わせお読んでみおね

    RHCC黒い画面を芋なくおも枈むヘッドレスかんたん管理アプリ

    MarkN Resonite Headless Controllerブラりザから管理できるや぀

    Resonite䟿利リンク集

    おわり


    この蚘事が参加しおいる募集

     
     

    akiRAM

     
     
    あきらむず呌ばれる事が倚いです。䞻にVRでモデリングしたり、ワヌルド䜜ったり、むベント䞻催したり、寝萜ちたりしおいたす

    あなたぞのおすすめ