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

From Neos Wiki
Jump to navigation Jump to search
Line 77: Line 77:
 
** "Anyone": 참여에 제한이 없음
 
** "Anyone": 참여에 제한이 없음
  
<div class="mw-translate-fuzzy">
 
 
* <code>"defaultUserRoles"</code>는 월드에 참여하는 사람들에게 부여할 기본 권한을 지정하는 옵션입니다. 값은 "사용자명": "권한" 형식으로 작성하시면 되고, "권한"에 입력 가능한 값은 "Admin", "Builder", "Moderator", "Guest", "Spectator" 중 한가지를 넣으시면 됩니다.
 
* <code>"defaultUserRoles"</code>는 월드에 참여하는 사람들에게 부여할 기본 권한을 지정하는 옵션입니다. 값은 "사용자명": "권한" 형식으로 작성하시면 되고, "권한"에 입력 가능한 값은 "Admin", "Builder", "Moderator", "Guest", "Spectator" 중 한가지를 넣으시면 됩니다.
* 클라이언트 실행
 
</div>
 
  
 
* 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.
 
* 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.

Revision as of 12:28, 19 June 2021

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 메인 계정을 이용하지 말아 주세요.)
{
 "comment": "",
 "tickRate": 60.0,
 "maxConcurrentAssetTransfers": 4,
 "usernameOverride": null,
 "loginCredential": "부계정 ID",
 "loginPassword": "부계정 암호",
 "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,
     "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" 중 한가지를 넣으시면 됩니다.
  • The "loginCredential" 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.
  • Run the executable to start the client.

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

월드 정보를 로컬 컴퓨터에 저장하실때는 "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
}

Configration using Cloud Variables

For more details for Cloud Variables, see Cloud Variables.

  • The roleCloudVariable allows auto-assigning a role based on a cloud variable.
    • This lets you define a cloud variable and assign value to users to determine their role in given world.
    • 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.
    • It is STRONGLY recommended to make sure you're using cloud variable that you can write into on behalf of other users (definition_owner), otherwise users might be able to assign themselves a high permission role.
    • If no value is set for given user, the usual method to determine default role is used
  • The allowUserCloudVariable allows using cloud variable to always allow user into a session.
    • The cloud variable needs to be of type bool and set to true for given user.
    • 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 denyUserCloudVariable allows denying join access to users via a cloud variable.
    • This functions similarly to allowUserCloudVariable, except when the value for given user is true, they will be denied access
    • This always takes precedence over other variables
  • The requiredUserJoinCloudVariable to world startup configuration, which requires a cloud variable to be set to true for given user so they can join
    • You can set a custom deny message via 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 allowUserCloudVariable) and will still need to pass other rules - public access, session user limit and so on
    • allowUserCloudVariable takes precedence over this one, allowing to always allow given user access
    • This variable is useful for controlling access to a session, without bypassing the session max user limit and providing a custom message

명령어

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