Difference between revisions of "Headless Client/Server/ko"

From Neos Wiki
Jump to navigation Jump to search
(Created page with "클라우드 변수에 대한 자세한 설명은 Coud Variables를 확인하십시오.")
(Updating to match new version of source page)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
<div style="font-size:4em;">This file is under deprecation please see [[Headless Client]] for the new file</div>
 +
 +
 
<languages/>
 
<languages/>
 
<b>헤드리스 클라이언트/서버</b>는 NEOS의 커맨드 라인(Console) 버전으로, 서버 등과 같은 그래픽이 배제된 환경하에서 동작합니다.
 
<b>헤드리스 클라이언트/서버</b>는 NEOS의 커맨드 라인(Console) 버전으로, 서버 등과 같은 그래픽이 배제된 환경하에서 동작합니다.
Line 22: Line 25:
 
* 새로 "Headless Client" 폴더가 생성되었음을 확인할 수 있으며, 설정 파일은 그 아래 Config폴더에 있는 DefaultConfig.json 입니다.
 
* 새로 "Headless Client" 폴더가 생성되었음을 확인할 수 있으며, 설정 파일은 그 아래 Config폴더에 있는 DefaultConfig.json 입니다.
 
* Config/DefaultConfig.json 파일을 열어 설정을 수행하세요. (단, 로그인 설정에서는 Neos VR 메인 계정을 이용하지 말아 주세요.)
 
* Config/DefaultConfig.json 파일을 열어 설정을 수행하세요. (단, 로그인 설정에서는 Neos VR 메인 계정을 이용하지 말아 주세요.)
 +
 +
Steam에서 업데이트가 끝나면 '''[https://steamcommunity.com/sharedfiles/filedetails/?id=760447682 설치 폴더]'''로 이동하세요. "Headless Client" 하위 폴더에서 헤드리스 클라이언트를 찾을 수 있습니다. Config/DefaultConfig.json 파일을 수정하여 헤드리스 기동시 자동으로 로그인(부계정을 하나 만들어 이용하세요)하고 특정 월드의 세션을 준비하도록 설정하실 수 있습니다. 아래는 설정파일의 예제입니다.
 +
 
  {
 
  {
 
   "comment": "",
 
   "comment": "",
Line 27: Line 33:
 
   "maxConcurrentAssetTransfers": 4,
 
   "maxConcurrentAssetTransfers": 4,
 
   "usernameOverride": null,
 
   "usernameOverride": null,
   "loginCredential": "부계정 ID",
+
   "loginCredential": null,
   "loginPassword": "부계정 암호",
+
   "loginPassword": null,
 
   "startWorlds": [
 
   "startWorlds": [
 
     {
 
     {
Line 51: Line 57:
 
       },
 
       },
 
       "autoInviteUsernames": null,
 
       "autoInviteUsernames": null,
 +
      "parentSessionIds": [
 +
        ""
 +
      ],
 
       "autoInviteMessage": null,
 
       "autoInviteMessage": null,
 
       "autoRecover": true,
 
       "autoRecover": true,
Line 79: Line 88:
 
* <code>"defaultUserRoles"</code>는 월드에 참여하는 사람들에게 부여할 기본 권한을 지정하는 옵션입니다. 값은 "사용자명": "권한" 형식으로 작성하시면 되고, "권한"에 입력 가능한 값은 "Admin", "Builder", "Moderator", "Guest", "Spectator" 중 한가지를 넣으시면 됩니다.
 
* <code>"defaultUserRoles"</code>는 월드에 참여하는 사람들에게 부여할 기본 권한을 지정하는 옵션입니다. 값은 "사용자명": "권한" 형식으로 작성하시면 되고, "권한"에 입력 가능한 값은 "Admin", "Builder", "Moderator", "Guest", "Spectator" 중 한가지를 넣으시면 됩니다.
  
* The <code>"loginCredential"</code> attribute defines the Neos account to run the server with. It is recommended to create a separate account to run the server as if you wish to join your own server - it is not possible to join a server running with the same account on the client and server.
+
* <code>"loginCredential"</code> 속성에는 헤드리스 서버를 운용하기 위한 계정 정보를 설정해야 합니다. 동일한 계정으로 서버와 일반 클라이언트를 동시에 접속할 수 없으므로, 별개의 보조 계정을 생성하여 운영하시는것을 추천합니다.
 +
 
 +
* <code>"customSessionId"</code> 속성을 설정하면, 세션 URL의 주소를 <code>S-[userID]:[임의의 문자열]</code> 형식으로 사용할 수 있게 됩니다. 여기서 <code>[UserID]</code>는 헤드리스 서버를 운용중인 계정의 userID 값을 말합니다. <code>[임의의 문자열]</code>은 원하시는 문자열을 입력하시면 됩니다.
 +
 
 +
* 중첩 세션에 사용되는 <code>"parentSessionIds"</code>는 동적인 세션ID를 사용자 정의하에 수동으로 지정하는데 사용됩니다. 이것으로 공개 헤드리스 서버 목록에 표시되지 않는 중첩세션이 허용됩니다.
  
 
* 실행파일을 통해 클라이언트를 시작하십시오.
 
* 실행파일을 통해 클라이언트를 시작하십시오.
Line 121: Line 134:
 
클라우드 변수에 대한 자세한 설명은 [[Coud Variables]]를 확인하십시오.
 
클라우드 변수에 대한 자세한 설명은 [[Coud Variables]]를 확인하십시오.
  
* The <code>roleCloudVariable</code> allows auto-assigning a role based on a cloud variable.
+
* <code>roleCloudVariable</code>를 사용하면, 클라우드 변수를 기반으로 role을 자동할당시킬 수 있습니다.
** This lets you define a cloud variable and assign value to users to determine their role in given world.
+
** 이를 이용해 월드에서 클라우드 변수와 값을 사용자에게 부여하고, role을 결정지을 수 있게 합니다.
** The variable needs to be of type string. The value you assign equals the name of the role you want to grant to given user.
+
** 클라우드 변수의 자료형은 string 이어야 합니다. 변수에 저장될 값은, 사용자에게 부여하려는 역할명과 같습니다.
** It is STRONGLY recommended to make sure you're using cloud variable that you can write into on behalf of other users (<code>definition_owner</code>), otherwise users might be able to assign themselves a high permission role.
+
** 클라우드 변수의 권한 설정이, 본인이 아닌 다른 사람이 수정할 수 있는<code>definition_owner</code>로 되어있지 않은지 점검하세요. 이 권한이 있는 경우, 타인이 권한을 직접 조정할 수 있게 됩니다.
** If no value is set for given user, the usual method to determine default role is used
+
** 값이 지정되지 않은 사용자에겐 기본 Role을 할당시키는게 일반적입니다.
  
* The <code>allowUserCloudVariable</code> allows using cloud variable to always allow user into a session.
+
* <code>allowUserCloudVariable</code>을 사용하면, 사용자가 세션에 언제나 참여할 수 있도록 합니다.  
** The cloud variable needs to be of type bool and set to true for given user.
+
** 변수의 자료형은 bool 타입 이어야 하고, 지정된 사용자에겐 값이 true 여야 합니다.
** This is equivalent of the user being sent an invite - they can join regardless of MaxUsers limit and even if the session is set to Private (they need to obtain).
+
** 이 기능은 초대를 받은것과 동일하게 동작합니다. 참여 제한인원과 상관없이, 그리고 비공개로 설정된 경우에도 참여할 수 있습니다.
** Same recommendations as above apply, please make sure you use the right cloud variables that you have proper control over.
+
** 위와 동일한 보안적 주의사항이 요구됩니다. 적절한 권한을 가진 변수를 사용하세요.
  
* The <code>denyUserCloudVariable</code> allows denying join access to users via a cloud variable.
+
* <code>denyUserCloudVariable</code>를 사용하시면, 클라우드 변수를 이용한 세션 참여금지를 설정할 수 있습니다.
** This functions similarly to <code>allowUserCloudVariable</code>, except when the value for given user is true, they will be denied access
+
** 이 기능은 <code>allowUserCloudVariable</code>와 유사하지만, 값이 True일때 사용자의 참여가 거부됩니다.(즉, 반대로 동작함)
** This always takes precedence over other variables
+
** 이 설정은 유사한 다른 설정보다 높은 우선순위에 있습니다.
  
* The <code>requiredUserJoinCloudVariable</code> to world startup configuration, which requires a cloud variable to be set to true for given user so they can join
+
* <code>requiredUserJoinCloudVariable</code> 사용시, 클라우드 변수를 통해 사용자 참여를 허용합니다. 변수의 값은 True 여야 합니다.
** You can set a custom deny message via requiredUserJoinCloudVariableDenyMessage
+
** 참여 거부 메세지를 requiredUserJoinCloudVariableDenyMessage 속성을 통해 수동으로 설정할 수 있습니다.
** If the variable isn't set to true for given user, they won't be allowed access
+
** 변수에 지정되지 않은 사용자는 세션에 참여할 수 없습니다.
** Setting the variable to true won't automatically grant access (unlike <code>allowUserCloudVariable</code>) and will still need to pass other rules - public access, session user limit and so on
+
** <code>allowUserCloudVariable</code> 속성과 달리 참여시 자동으로 권한이 부여되지는 않고, 보편적인 규칙(공개세션 여부, 최대 허용 사용자수 등)하에 참여 가능 여부가 결정됩니다.
** <code>allowUserCloudVariable</code> takes precedence over this one, allowing to always allow given user access
+
** 이 설정보다 <code>allowUserCloudVariable</code> 설정이 우선순위가 더 높습니다.
** This variable is useful for controlling access to a session, without bypassing the session max user limit and providing a custom message
+
** 이 변수는 최대 허용인원 및 관련 메세지 수동설정등을 이용하여 세션을 제어하는데 사용할 수 있습니다.
  
 
== 명령어 ==
 
== 명령어 ==
 
[[Headless Client/Commands/ko|헤드리스 클라이언트의 명령어]] 문서에서 명령어 목록을 확인하실 수 있습니다.
 
[[Headless Client/Commands/ko|헤드리스 클라이언트의 명령어]] 문서에서 명령어 목록을 확인하실 수 있습니다.

Latest revision as of 16:14, 1 December 2021

This file is under deprecation please see Headless Client for the new file


Other languages:
English • ‎français • ‎čeština • ‎日本語 • ‎한국어

헤드리스 클라이언트/서버는 NEOS의 커맨드 라인(Console) 버전으로, 서버 등과 같은 그래픽이 배제된 환경하에서 동작합니다.

이 기능에 접근하기 위한 조건으로 사용자의 페트레온에서의 등급이 Gunter 이상거나 Neos Pro 를 사용하고 있어야 합니다. 우리의 디스코드 체널 리스트에서 #headless-client에 접속하거나 또는 관리자를 통하여 이 기능에 접근하기 위한 코드를 발급받을 수 있습니다.

설치

방법 1

스팀으로 설치하는 경우:

  • 스팀 내 라이브러리에서 Neos VR을 찾아 마우스 우클릭을 합니다.
  • "속성"을 선택하고, 표시되는 속성 창에서 "BETAs" 탭을 클릭합니다.
  • 디스코드 체널에서 발급받은 코드를 베타코드 입력창에 입력합니다.
  • "headless-client"를 선택합니다.

방법 2

SteamCMD를 사용하는 경우

  • SteamCMD 로그인 후, 아래의 명령을 복사하여 붙여 넣습니다.
  • app_update 740250 -beta headless-client -betapassword 디스코드에서_발급받은_코드

설정

  • 스팀에서 Neos VR의 업데이트가 끝나면, 로컬저장소 열기를 이용하여 게임이 설치된 폴더로 이동합니다.
  • 새로 "Headless Client" 폴더가 생성되었음을 확인할 수 있으며, 설정 파일은 그 아래 Config폴더에 있는 DefaultConfig.json 입니다.
  • Config/DefaultConfig.json 파일을 열어 설정을 수행하세요. (단, 로그인 설정에서는 Neos VR 메인 계정을 이용하지 말아 주세요.)

Steam에서 업데이트가 끝나면 설치 폴더로 이동하세요. "Headless Client" 하위 폴더에서 헤드리스 클라이언트를 찾을 수 있습니다. Config/DefaultConfig.json 파일을 수정하여 헤드리스 기동시 자동으로 로그인(부계정을 하나 만들어 이용하세요)하고 특정 월드의 세션을 준비하도록 설정하실 수 있습니다. 아래는 설정파일의 예제입니다.

{
 "comment": "",
 "tickRate": 60.0,
 "maxConcurrentAssetTransfers": 4,
 "usernameOverride": null,
 "loginCredential": null,
 "loginPassword": null,
 "startWorlds": [
   {
     "isEnabled": true,
     "sessionName": "",
     "customSessionId": null,
     "description": null,
     "maxUsers": 12,
     "accessLevel": "Anyone",
     "hideFromPublicListing": false,
     "tags": [
       "test1",
     ],
     "mobileFriendly": false,
     "loadWorldURL": "",
     "saveAsOwner": null,
     "loadWorldPresetName": null,
     "forcePort": null,
     "keepOriginalRoles": false,
     "defaultUserRoles": {
       "User": "Admin"
     },
     "autoInviteUsernames": null,
     "parentSessionIds": [
       ""
     ],
     "autoInviteMessage": null,
     "autoRecover": true,
     "idleRestartInterval": -1.0,
     "forcedRestartInterval": -1.0,
     "saveOnExit": false,
     "autosaveInterval": -1.0,
     "awayKickMinutes": -1.0,
     "autoSleep": true
   }
 ],
 "dataFolder": null,
 "cacheFolder": null,
 "allowedUrlHosts": null,
 "autoSpawnItems": null,
 "metamovieRoles": null
}
  • loadWorldPresetName : 월드의 기본형을 선택합니다. 사용할 수 있는 유형은 "SpaceWorld", "Basic Empty", "GridSpace", "Microworld", "Testing Scaling", "ScratchSpace", "ScratchSpace (mobile)", "Instancing Test", "Physical Locomotion Test" 그리고 "UIX Test". 입니다.
  • accessLevel 항목은 헤드리스에 접근 가능한 유형을 정의하며, 아래의 값중 하나를 설정하시면 됩니다.
    • "Private": 비공개 (초대로만 참여가 가능)
    • "LAN": LAN(같은 네트워크 망) 사용자만 참여 가능
    • "Friends": 헤드리스 계정의 연락처에 있는 사람만 참여가능
    • "FriendsOfFriends": 헤드리스 계정의 연락처에 있는 사람의 친구까지만 허용
    • "RegisteredUsers": 네오스 계정으로 로그인 한 사용자만 허용
    • "Anyone": 참여에 제한이 없음
  • "defaultUserRoles"는 월드에 참여하는 사람들에게 부여할 기본 권한을 지정하는 옵션입니다. 값은 "사용자명": "권한" 형식으로 작성하시면 되고, "권한"에 입력 가능한 값은 "Admin", "Builder", "Moderator", "Guest", "Spectator" 중 한가지를 넣으시면 됩니다.
  • "loginCredential" 속성에는 헤드리스 서버를 운용하기 위한 계정 정보를 설정해야 합니다. 동일한 계정으로 서버와 일반 클라이언트를 동시에 접속할 수 없으므로, 별개의 보조 계정을 생성하여 운영하시는것을 추천합니다.
  • "customSessionId" 속성을 설정하면, 세션 URL의 주소를 S-[userID]:[임의의 문자열] 형식으로 사용할 수 있게 됩니다. 여기서 [UserID]는 헤드리스 서버를 운용중인 계정의 userID 값을 말합니다. [임의의 문자열]은 원하시는 문자열을 입력하시면 됩니다.
  • 중첩 세션에 사용되는 "parentSessionIds"는 동적인 세션ID를 사용자 정의하에 수동으로 지정하는데 사용됩니다. 이것으로 공개 헤드리스 서버 목록에 표시되지 않는 중첩세션이 허용됩니다.
  • 실행파일을 통해 클라이언트를 시작하십시오.

로컬 및 클라우드 월드의 저장 설정

월드 정보를 로컬 컴퓨터에 저장하실때는 "saveAsOwner" : "LocalMachine"로 설정해 주세요.(클라이언트 실행 후, 고유한 startWorldURL로 자동변경 됩니다). 또한, "saveOnExit" : trueautoSaveInterval도 원하는대로 설정하여 주세요.

만약, 월드를 클라우드에 저장하고 싶으실때는 아래의 옵션을 설정하세요.(네오스 계정이 있어야 합니다.) "saveAsOwner" : "CloudUser".

세부 설정에 따라 다르지만, 일반적으로 shutdown 명령을 통해 저장 및 종료를 수행할 수 있습니다.

환경설정 샘플파일 {

 "tickRate": 60.0,
 "usernameOverride": null,
 "loginCredential": null,
 "loginPassword": null,
 "startWorlds": [
   {
     "sessionName": "My World 1",
     "description": null,
     "maxUsers": 32,
     "accessLevel": "LAN",
     "tags": null,
     "mobileFriendly": false,
     "loadWorldPresetName": "BasicEmpty",
     "saveAsOwner" : "LocalMachine",
     "autoRecover": true,
     "saveOnExit" : true,
     "autoSaveInterval" : 240,
     "forcedRestartInterval": -1.0
   }
 ],
 "dataFolder": null,
 "cacheFolder": null
}

클라우드 변수 사용 설정

클라우드 변수에 대한 자세한 설명은 Coud Variables를 확인하십시오.

  • roleCloudVariable를 사용하면, 클라우드 변수를 기반으로 role을 자동할당시킬 수 있습니다.
    • 이를 이용해 월드에서 클라우드 변수와 값을 사용자에게 부여하고, role을 결정지을 수 있게 합니다.
    • 클라우드 변수의 자료형은 string 이어야 합니다. 변수에 저장될 값은, 사용자에게 부여하려는 역할명과 같습니다.
    • 클라우드 변수의 권한 설정이, 본인이 아닌 다른 사람이 수정할 수 있는definition_owner로 되어있지 않은지 점검하세요. 이 권한이 있는 경우, 타인이 권한을 직접 조정할 수 있게 됩니다.
    • 값이 지정되지 않은 사용자에겐 기본 Role을 할당시키는게 일반적입니다.
  • allowUserCloudVariable을 사용하면, 사용자가 세션에 언제나 참여할 수 있도록 합니다.
    • 변수의 자료형은 bool 타입 이어야 하고, 지정된 사용자에겐 값이 true 여야 합니다.
    • 이 기능은 초대를 받은것과 동일하게 동작합니다. 참여 제한인원과 상관없이, 그리고 비공개로 설정된 경우에도 참여할 수 있습니다.
    • 위와 동일한 보안적 주의사항이 요구됩니다. 적절한 권한을 가진 변수를 사용하세요.
  • denyUserCloudVariable를 사용하시면, 클라우드 변수를 이용한 세션 참여금지를 설정할 수 있습니다.
    • 이 기능은 allowUserCloudVariable와 유사하지만, 값이 True일때 사용자의 참여가 거부됩니다.(즉, 반대로 동작함)
    • 이 설정은 유사한 다른 설정보다 높은 우선순위에 있습니다.
  • requiredUserJoinCloudVariable 사용시, 클라우드 변수를 통해 사용자 참여를 허용합니다. 변수의 값은 True 여야 합니다.
    • 참여 거부 메세지를 requiredUserJoinCloudVariableDenyMessage 속성을 통해 수동으로 설정할 수 있습니다.
    • 변수에 지정되지 않은 사용자는 세션에 참여할 수 없습니다.
    • allowUserCloudVariable 속성과 달리 참여시 자동으로 권한이 부여되지는 않고, 보편적인 규칙(공개세션 여부, 최대 허용 사용자수 등)하에 참여 가능 여부가 결정됩니다.
    • 이 설정보다 allowUserCloudVariable 설정이 우선순위가 더 높습니다.
    • 이 변수는 최대 허용인원 및 관련 메세지 수동설정등을 이용하여 세션을 제어하는데 사용할 수 있습니다.

명령어

헤드리스 클라이언트의 명령어 문서에서 명령어 목록을 확인하실 수 있습니다.