Stingray 엔진 명령행 참조

Stingray 엔진은 이 페이지에 상세히 설명된 모든 명령행 매개변수를 허용합니다.

명령행 프롬프트에서 Stingray 엔진을 실행하면 이러한 매개변수를 사용하여 게임이 로드해야 하는 프로젝트 데이터를 지정하거나, 컴파일 및/또는 빌딩 프로세스를 시작하거나, 엔지 작업의 기타 특정 측면을 제어할 수 있습니다.

Stingray Editor의 Connections 패널에서 대상을 설정할 때 명령행 매개변수를 제공할 수도 있습니다. Connections 패널 사용을 참조하십시오.

달리 지정하지 않는 한 모든 매개변수는 옵션입니다.

명령행 매개변수 액세스

게임 플레이 코드에서 stingray.Application.argv() 함수를 호출하여 엔진을 시작하는 데 사용된 모든 명령행 매개변수에 액세스할 수 있습니다. 이 방법으로 이 페이지에 나열되어 있는 모든 매개변수 또는 이름과 중요성을 직접 정의하는 사용자 정의 매개변수를 읽고, 이에 응답할 수 있습니다.

예제

엔진 실행

특정 도구 체인 디렉토리에서 프로젝트 설정을 사용하여 엔진 실행(이러면 필요한 경우 데이터 컴파일도 함):

stingray_win64_dev.exe --toolchain C:\work\toolchain

특정 폴더에서 컴파일한 데이터를 사용하여 엔진 실행:

stingray_win64_dev.exe --data-dir D:\Projects\testbed_data\win32

번들된 데이터를 사용하여 엔진 실행:

stingray_win64_dev.exe --bundle-dir D:\Projects\testbed_data\win32_bundled

TCP/IP 파일 서버에서 스트림된 데이터를 사용하여 엔진 실행합니다. --data-dir은 엔진이 사용해야 하는 파일 서버의 디렉토리입니다. --secret은 해당 디렉토리의 .stingray-asset-server-secret 파일 컨텐츠와 일치해야 합니다.

stingray_win64_dev.exe --host 172.64.22.32 --data-dir D:\Projects\testbed_data\win32 --secret PqdjliMO52Tu4As+FxuJig==

데이터 컴파일

특정 플랫폼의 도구 체인 설정에서 프로젝트 데이터 교차 컴파일(win32, xb1, android, macosx, ios, ps4):

stingray_win64_dev.exe --compile-for ps4 --toolchain C:\work\toolchain

도구 체인 설정을 사용하여 프로젝트 데이터 교차 컴파일 및 번들:

stingray_win64_dev.exe --compile-for ps4 --bundle --toolchain C:\work\toolchain

매핑된 코어 폴더를 사용하여 Win32 프로젝트 데이터 컴파일:

stingray_win64_dev.exe --compile --source-dir D:\projects\testbed --data-dir D:\projects\testbed_data\win32 --map-source-dir core C:\work\toolchain

Win32 프로젝트 데이터 컴파일 및 번들:

stingray_win64_dev.exe --compile --bundle --source-dir D:\projects\testbed --data-dir  D:\projects\testbed_data\win32 --bundle-dir  D:\projects\testbed_data\win32_bundled --map-source-dir core C:\work\toolchain

매개변수

일반

--

엔진의 인수 목록 끝을 지정합니다. -- 다음에 나오는 모든 인수는 게임의 인수로 가정합니다. 이들은 엔진에서 무시하지만 Application.argv()에서 찾을 수 있습니다. (Application.argv()에도 모든 엔진 인수가 포함되어 있습니다.)

도구 체인

--toolchain DIRECTORY

이 매개변수를 사용하면 --data-dir, --bundle-dir 또는 --source-dir을 지정할 필요가 없으며, 대신 DIRECTORY/settings 폴더에서 현재 프로젝트 설정을 읽고 그곳에서 디렉토리가 추정됩니다.

--toolchain 매개변수를 사용하면 데이터가 먼저 데이터 디렉토리로 컴파일된 다음 엔진이 해당 데이터로 시작됩니다. 이를 --bundle 매개변수와 결합하면 데이터가 번들된 다음 번들 디렉토리에서 실행됩니다.

--compile-for와 함께 --toolchain을 사용할 수도 있습니다. 이 경우 데이터가 지정된 플랫폼용으로 컴파일된 다음 실행 파일이 생깁니다.

런타임

--data-dir DIRECTORY

컴파일된 데이터에 대한 디렉토리를 지정합니다.

엔진을 실행할 때 지정된 경우 이 디렉토리에서 데이터를 읽습니다.

--compile을 사용하면 이 매개변수는 엔진이 프로젝트에 대해 컴파일하는 데이터의 대상을 지정합니다.

--bundle-dir DIRECTORY

번들된 데이터의 디렉토리를 지정합니다.

엔진을 실행할 때 지정된 경우 이 디렉토리에서 번들된 데이터를 읽습니다.

--bundle을 사용하면 컴파일러가 번들된 데이터를 이 디렉토리로 빌드합니다.

--bundle-url URL

번들된 데이터를 로드할 URL을 지정합니다. 실행하면 엔진이 이 HTTP 디렉토리에서 번들 데이터를 스트리밍합니다.

--ini FILE

엔진이 settings.ini 대신 지정된 .ini 파일에서 설정을 로드하도록 알립니다.

--no-rendering

모든 렌더링 기능을 비활성화합니다. 엔진을 서버로 실행하려 할 때 메모리와 처리 시간을 줄이는 데 사용됩니다.

--silent-mode

자동 모드에서 부팅되도록 엔진에 알립니다. 이 모드에서는 엔진이 어설션과 오류 메시지를 표시하지 않습니다.

--log-callstack-modules

호출 스택 로깅에 모듈을 추가합니다. 호출 스택 변환을 수행할 때 사용됩니다. Windows에서만 사용할 수 있습니다.

--init-forward

정방향 모드로 초기화를 수행하도록 엔진에 알립니다. 이 모드에서는 업데이트 루프 이전에 전체 엔진 초기화가 수행됩니다. 웹 및 UWP를 제외한 모든 플랫폼에서 기본값입니다.

--init-deferred

지연된 모드로 초기화를 수행하도록 엔진에 알립니다. 이 모드에서는 엔진 초기화의 일부가 업데이트 루프에서 수행됩니다. 웹 및 UWP에서 기본값입니다.

--plugin-dir DIRECTORY

엔진 플러그인을 검색할 디렉토리를 더 추가합니다. 여러 개의 --plugin-dir 인수를 사용하여 디렉토리를 추가할 수 있습니다.

이 인수와 함께 제공된 플러그인 디렉토리는 핫 리로드가 가능하도록 자동으로 설정됩니다. 이미 로드된 플러그인 이름과 일치하는 새 플러그인이 dir 디렉토리에 있고 해당 플러그인이 핫 리로드 인터페이스를 지원하는 경우 플러그인이 다시 로드됩니다.

엔진은 사용 중인 DLL을 잠그고 디버거가 임의 수의 이전 .pdb 파일을 잠글 수 있기 때문에 플러그인의 사전 빌드 단계에 다음 단계를 추가하는 것이 좋습니다.

rename ${plugin}.dll ${plugin}.dll.old rename ${plugin}.pdb ${plugin}.${timestamp}.pdb.old del *.old

이름을 바꾸면 새 DLL이 생성되는 동안 엔진에서 이전 DLL을 계속 사용할 수 있습니다. 디버거는 PDB를 만나면 이를 잠그기 때문에 PDB의 이름을 바꿀 때 타임스탬프를 추가해야 합니다. 마지막 del 명령은 오류를 허용하도록 설정되어야 합니다. 이 명령은 아직 사용 중인 DLL과 PDB에서 실패하므로 이들 파일을 그대로 유지합니다.

--lua LUA CODE

Lua init() 함수 실행 후 실행할 Lua 코드 조각을 지정합니다.

콘솔

--port PORT

엔진의 콘솔 서버가 호스팅되는 TCP/IP 포트를 지정합니다. 실행 중인 엔진과 통신하도록 외부 도구를 이 포트에 연결할 수 있습니다.

한 번에 한 복사본의 엔진만 실행할 수 있는 대부분의 콘솔에서는 이미 다른 엔진이 포트 14030으로 지정되지 않은 한 엔진에서 이 매개변수를 사용합니다.

Xbox One에서는 XboxOne 데스크톱 연결을 위한 기본 포트인 포트 4601이 사용됩니다.

여러 엔진 인스턴스가 동시에 실행 중일 수 있는 PC에서는 이미 지정되지 않은 한 콘솔 서버에서 남은 포트를 임의로 사용합니다. PC의 경우 콘솔이 오픈 TCP/IP 포트가 있는 "stingray_*.exe"라는 실행 중인 실행 파일을 검색하여 연결할 실행 게임 엔진을 찾습니다.

--wait-for-debugger

편집기의 Lua 디버거가 연결될 때까지 시작을 지연하도록 엔진에 알리고 중단점 위치 등 필요한 모든 디버깅 정보를 함께 보냅니다. 이는 --wait를 사용하는 대신 프로젝트 시작 전에 디버거를 완전히 초기화할 수 있는 보다 신뢰할 수 있는 방법입니다.

--wait SECONDS

엔진이 실행하기 전에 지정된 시간(초) 동안 로깅 콘솔로의 연결을 기다리도록 요청합니다. 이렇게 하면 로깅 콘솔에서 게임의 출력을 조기에 포착할 수 있습니다.

--wait-after-error SECONDS

오류가 발생하는 경우 엔진이 로깅 콘솔로의 연결을 기다리도록 요청합니다. 이렇게 하면 로깅 콘솔에서 오류를 조기에 포착할 수 있습니다.

데이터 컴파일러

--compile

엔진에 게임을 실행하는 대신 프로젝트 소스 디렉토리의 데이터를 컴파일하도록 지시합니다.

이 매개변수를 사용하면 다음을 제공해야 합니다.

--bundle

엔진에 게임을 실행하는 대신 프로젝트의 컴파일된 데이터로부터 번들을 생성하도록 지시합니다.

이 매개변수를 사용하면 다음을 제공해야 합니다.

--source-dir DIRECTORY

--compile을 사용하면 이 매개변수가 프로젝트의 소스 폴더 위치를 지정합니다.

--compile-for PLATFORM

--compile 또는 --bundle을 사용할 때 이 매개변수는 엔진에 어떤 플랫폼에 대한 데이터를 컴파일하려는지를 알립니다. 플랫폼 값은 win32, ps4, android, ios 또는 xb1일 수 있습니다.

--continue

--compile 또는 --bundle을 사용할 때 이 매개변수는 엔진에 데이터 컴파일 및/또는 빌딩 단계를 완료한 후 게임을 계속 실행하도록 알립니다. 실행 중인 플랫폼이 아니라 다른 플랫폼용으로 교차 컴파일을 할 때는 이 매개변수를 사용할 수 없습니다.

--enable-remote-cache

이 플래그가 활성화되면 컴파일러가 로컬로 컴파일하기 전에 컴파일된 데이터를 네트워크에 쿼리합니다. 이는 컴파일 속도록 높일 수 있습니다(그러나 컴파일 문제가 있는 경우 디버그하기가 더 어려워질 수 있습니다). 이 플래그가 활성화되면 컴파일러는 캐시 서버에서 환경 변수 SR_REMOTE_CACHE_IP가 지정한 주소에서 컴파일된 파일을 찾고 특정 파일 유형의 컴파일된 버전에 대해 쿼리합니다.

--strip-debug

컴파일 동안 디버그 정보를 .lua 파일에서 제거하도록 데이터 컴파일러에 알립니다.

--verify-deterministic

데이터 컴파일러가 모든 리소스를 두 번 컴파일하고 결과를 비교하여 컴파일이 결정적인지 확인하게 합니다.

--map-source-dir MAPPED_DIRECTORY ROOT

이 매개변수는 --source-directory가 아닌 다른 디렉토리로의 소스 경로를 매핑하는 데 사용됩니다. 이는 코어 폴더(예:

--map-source-dir core c:\work를 매핑하는 데 가장 일반적으로 사용됩니다.

이는 core 폴더의 모든 소스 경로가 SOURCE_DIRECTORY/core 대신 c:₩work₩core에서 로드되도록 합니다.

이를 사용하여 core 외에 다른 공유 폴더를 지정할 수 있습니다.

--map-source-dir로의 두 번째 인수는 매핑된 dir의 디렉토리가 아니라 다른 위치의 루트 디렉토리를 지정합니다. 매핑된 디렉토리 이름은 이 루트에 결합됩니다.

--serial-compile

직렬로 컴파일하도록 엔진에 알립니다(병렬 처리 없음). 직렬로 실행하는 것이 이해하기 더 간단하기 때문에 일반적으로 data-compile을 디버깅하는 데 사용됩니다. 또한 병렬 컴파일이 계속 실패할 경우 작업을 지속하기 위한 방법으로 사용할 수도 있습니다.

--resource-flag-true FLAG

지정된 플래그가 true라는 가정 하에 리소스를 컴파일해야 한다는 것을 나타냅니다.

--resource-flag-false FLAG

지정된 플래그가 false라는 가정 하에 리소스를 컴파일해야 한다는 것을 나타냅니다.

동작

--hold

디버깅에만 사용됩니다. 엔진이 부트 프로세스에 고정되도록 지시해, 계속 진행하기 전에 디버거를 부착할 수 있는 기회를 제공합니다.

--version

엔진이 버전 번호를 인쇄하도록 합니다.

--dump-physics-metadata

부팅 후 물리적 메타데이터 파일을 덤프하도록 엔진에 알립니다. 이 파일은 물리적 오브젝트를 컴파일하려는 각 플랫폼에 필요합니다. 미리 빌드한 파일은 core/physx_metadata에 있으므로 이 매개변수를 사용할 필요가 전혀 없습니다.

--thumbnail-server

썸네일 서버 모드에서 부팅되도록 엔진에 알립니다. 이 모드에서 엔진은 프로젝트 리소스에 대한 썸네일 이미지를 생성하라는 요청과 이에 대한 서비스 요청을 듣게 됩니다.

--run-unit-tests

엔진에 유닛 테스트를 실행하도록 알립니다.

--test-for-minutes #### --test-for-hours

오래 실행되는 유닛 테스트 --test-for-minutes--test-for-hours를 활성화합니다.

--only-test 이름

지정된 NAME과 일치하는 테스트만 실행합니다.

--use-hard-asserts

끝나면 오류를 보고하는 대신 각 테스트에 대한 하드 어설션을 합니다.

--test-disk

유닛 테스트 시 디스크를 터치하도록 허용합니다.

--test-network

유닛 테스트 시 네트워크를 사용하도록 허용합니다.

파일 클라이언트

--host IP

File Server에서 스트리밍된 데이터로 엔진을 실행하는 데 사용됩니다. 엔진은 지정된 IP 주소에서 파일 서버에 접촉을 시도하고 --data-dir 또는 --bundle-dir에서 프로젝트를 스트리밍합니다.

여러 서버의 연결을 시도하려는 경우 쉼표로 구분된 IP 목록을 사용할 수 있습니다.

여러 호스트 인수를 지정하여 여러 주소에서 파일 서버를 찾을 수 있습니다. 이는 파일 서버가 여러 네트워크 카드가 있는 머신일 때 유용합니다.

--secret SECRET

임의의 클라이언트가 자산 서버에 연결하는 것을 방지하는 보안 옵션입니다. 서버와 클라이언트를 연결할 수 있으려면 동일한 --secret 인수로 시작해야 합니다. 또한 .stingray-asset-server-directory라는 파일이 있는 디렉토리에만 액세스할 수 있습니다. .stingray-asset-server-directory 파일의 내용은 중요하지 않습니다.

--no-file-cache

모바일 장치에서 엔진은 WiFi를 통한 스트리밍 속도를 높이기 위해 제공된 파일을 로컬로 캐시합니다. 특정 이유로 해당 캐시를 비활성화하려는 경우 이 매개변수를 사용할 수 있습니다.

--file-cache-dir DIR

이 매개변수를 사용하여 기본값 대신 파일 캐시에 대해 다른 디렉토리를 지정할 수 있습니다. 모바일이 아닌 플랫폼에서 파일 캐시를 활성화할 때에도 이를 사용할 수 있습니다.

--clear-file-cache

이 인수를 사용하면 로컬 파일 캐시의 모든 파일이 삭제됩니다.

--warm-file-cache

이 인수를 사용하면 엔진 부팅 시에 모든 스트리밍 리소스를 건드려 로컬로 캐시되도록 함으로써 나중에 재생할 때 지연되지 않도록 합니다.

--install-dir DIR

이 인수를 사용하면 파일 서버의 모든 컨텐츠가 로컬의 특정 디렉토리로 설치되므로 나중에 엔진이 파일 서버에 연결되지 않고 실행될 수 있습니다.

--install-default

--install-dir 인수와 동일하지만 설치 디렉토리로 사용자 지정 디렉토리 대신 기본 디렉토리를 사용합니다. iOS에서만 사용할 수 있습니다.

자산 서버

--asset-server

자산 서버 모드에서 부팅되도록 엔진에 알립니다. 이 모드에서 엔진은 포트 14032에서 데이터를 컴파일하라는 요청과 이에 대한 서비스 요청을 듣게 됩니다.

편집기

--editor-ini FILE

이 매개변수를 사용하면 엔진은 우선 settings.ini(또는 --ini 매개변수로 지정된 아무 파일)에서 설정을 로드한 다음 --editor-ini에 지정된 파일에서 설정을 로드하고, 이를 사용해 settings.ini의 설정을 오버라이드합니다.

이는 일반적으로 편집기 모드에서 엔진을 시작할 때 사용됩니다.

--pumped

엔진을 펌프 모드로 강제합니다. 이 모드에서는 TCP/IP 연결을 통해 새 프레임으로 진행하라는 명시적인 명령을 받지 않는 한 그렇게 진행하지 못합니다.

--session-id ID

이는 Application.session_id()로 쿼리할 수 있는 정수를 설정하여 실행 중인 여러 응용프로그램 복사본을 구분합니다.

Android

--apk-assets

--apk-ext-assets

--obb-dir

--cache-dir

--persistent-cache-dir

--save-dir

이는 Android의 실행 파일로 정보를 전달하도록 Java 레이어에서 사용하는 내부 매개변수입니다.

--disable-default-window

이는 자동 창 생성을 비활성화하고 창 생성 책임을 게임플레이 레이어에 둡니다.

--viewport-provider PORT

Viewport Provider 모드에서 부팅되도록 엔진에 알립니다. 이 모드에서 엔진은 자체 창을 생성하지 않습니다.

--rect X Y WIDTH HEIGHT

엔진 메인 창의 치수를 지정합니다.

--no-console

엔진이 자동으로 상위 프로세스에 연결되지 않도록 합니다.

--window HWND

엔진 메인 창이 지정된 창에 대한 하위 창으로 생성되도록 지정합니다. Windows만 해당합니다.

--no-raw-input

엔진의 원시 WM_INPUT 메시지 사용을 비활성화합니다.