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()에도 모든 엔진 인수가 포함되어 있습니다.)
이 매개변수를 사용하면 --data-dir, --bundle-dir 또는 --source-dir을 지정할 필요가 없으며, 대신 DIRECTORY/settings 폴더에서 현재 프로젝트 설정을 읽고 그곳에서 디렉토리가 추정됩니다.
--toolchain 매개변수를 사용하면 데이터가 먼저 데이터 디렉토리로 컴파일된 다음 엔진이 해당 데이터로 시작됩니다. 이를 --bundle 매개변수와 결합하면 데이터가 번들된 다음 번들 디렉토리에서 실행됩니다.
--compile-for와 함께 --toolchain을 사용할 수도 있습니다. 이 경우 데이터가 지정된 플랫폼용으로 컴파일된 다음 실행 파일이 생깁니다.
컴파일된 데이터에 대한 디렉토리를 지정합니다.
엔진을 실행할 때 지정된 경우 이 디렉토리에서 데이터를 읽습니다.
--compile을 사용하면 이 매개변수는 엔진이 프로젝트에 대해 컴파일하는 데이터의 대상을 지정합니다.
번들된 데이터의 디렉토리를 지정합니다.
엔진을 실행할 때 지정된 경우 이 디렉토리에서 번들된 데이터를 읽습니다.
--bundle을 사용하면 컴파일러가 번들된 데이터를 이 디렉토리로 빌드합니다.
번들된 데이터를 로드할 URL을 지정합니다. 실행하면 엔진이 이 HTTP 디렉토리에서 번들 데이터를 스트리밍합니다.
엔진이 settings.ini 대신 지정된 .ini 파일에서 설정을 로드하도록 알립니다.
모든 렌더링 기능을 비활성화합니다. 엔진을 서버로 실행하려 할 때 메모리와 처리 시간을 줄이는 데 사용됩니다.
자동 모드에서 부팅되도록 엔진에 알립니다. 이 모드에서는 엔진이 어설션과 오류 메시지를 표시하지 않습니다.
호출 스택 로깅에 모듈을 추가합니다. 호출 스택 변환을 수행할 때 사용됩니다. Windows에서만 사용할 수 있습니다.
정방향 모드로 초기화를 수행하도록 엔진에 알립니다. 이 모드에서는 업데이트 루프 이전에 전체 엔진 초기화가 수행됩니다. 웹 및 UWP를 제외한 모든 플랫폼에서 기본값입니다.
지연된 모드로 초기화를 수행하도록 엔진에 알립니다. 이 모드에서는 엔진 초기화의 일부가 업데이트 루프에서 수행됩니다. 웹 및 UWP에서 기본값입니다.
엔진 플러그인을 검색할 디렉토리를 더 추가합니다. 여러 개의 --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 init() 함수 실행 후 실행할 Lua 코드 조각을 지정합니다.
엔진의 콘솔 서버가 호스팅되는 TCP/IP 포트를 지정합니다. 실행 중인 엔진과 통신하도록 외부 도구를 이 포트에 연결할 수 있습니다.
한 번에 한 복사본의 엔진만 실행할 수 있는 대부분의 콘솔에서는 이미 다른 엔진이 포트 14030으로 지정되지 않은 한 엔진에서 이 매개변수를 사용합니다.
Xbox One에서는 XboxOne 데스크톱 연결을 위한 기본 포트인 포트 4601이 사용됩니다.
여러 엔진 인스턴스가 동시에 실행 중일 수 있는 PC에서는 이미 지정되지 않은 한 콘솔 서버에서 남은 포트를 임의로 사용합니다. PC의 경우 콘솔이 오픈 TCP/IP 포트가 있는 "stingray_*.exe"라는 실행 중인 실행 파일을 검색하여 연결할 실행 게임 엔진을 찾습니다.
편집기의 Lua 디버거가 연결될 때까지 시작을 지연하도록 엔진에 알리고 중단점 위치 등 필요한 모든 디버깅 정보를 함께 보냅니다. 이는 --wait를 사용하는 대신 프로젝트 시작 전에 디버거를 완전히 초기화할 수 있는 보다 신뢰할 수 있는 방법입니다.
엔진이 실행하기 전에 지정된 시간(초) 동안 로깅 콘솔로의 연결을 기다리도록 요청합니다. 이렇게 하면 로깅 콘솔에서 게임의 출력을 조기에 포착할 수 있습니다.
오류가 발생하는 경우 엔진이 로깅 콘솔로의 연결을 기다리도록 요청합니다. 이렇게 하면 로깅 콘솔에서 오류를 조기에 포착할 수 있습니다.
엔진에 게임을 실행하는 대신 프로젝트 소스 디렉토리의 데이터를 컴파일하도록 지시합니다.
이 매개변수를 사용하면 다음을 제공해야 합니다.
--source-dir 매개변수를 사용하는 프로젝트의 소스 디렉토리.
--data-dir 매개변수를 사용하는 컴파일된 데이터의 대상.
엔진에 게임을 실행하는 대신 프로젝트의 컴파일된 데이터로부터 번들을 생성하도록 지시합니다.
이 매개변수를 사용하면 다음을 제공해야 합니다.
--data-dir 매개변수를 사용하는 컴파일된 데이터가 포함된 디렉토리.
--data-dir 매개변수를 사용하는 번들된 데이터의 대상.
--compile을 사용하면 이 매개변수가 프로젝트의 소스 폴더 위치를 지정합니다.
--compile 또는 --bundle을 사용할 때 이 매개변수는 엔진에 어떤 플랫폼에 대한 데이터를 컴파일하려는지를 알립니다. 플랫폼 값은 win32, ps4, android, ios 또는 xb1일 수 있습니다.
--compile 또는 --bundle을 사용할 때 이 매개변수는 엔진에 데이터 컴파일 및/또는 빌딩 단계를 완료한 후 게임을 계속 실행하도록 알립니다. 실행 중인 플랫폼이 아니라 다른 플랫폼용으로 교차 컴파일을 할 때는 이 매개변수를 사용할 수 없습니다.
이 플래그가 활성화되면 컴파일러가 로컬로 컴파일하기 전에 컴파일된 데이터를 네트워크에 쿼리합니다. 이는 컴파일 속도록 높일 수 있습니다(그러나 컴파일 문제가 있는 경우 디버그하기가 더 어려워질 수 있습니다). 이 플래그가 활성화되면 컴파일러는 캐시 서버에서 환경 변수 SR_REMOTE_CACHE_IP가 지정한 주소에서 컴파일된 파일을 찾고 특정 파일 유형의 컴파일된 버전에 대해 쿼리합니다.
컴파일 동안 디버그 정보를 .lua 파일에서 제거하도록 데이터 컴파일러에 알립니다.
데이터 컴파일러가 모든 리소스를 두 번 컴파일하고 결과를 비교하여 컴파일이 결정적인지 확인하게 합니다.
이 매개변수는 --source-directory가 아닌 다른 디렉토리로의 소스 경로를 매핑하는 데 사용됩니다. 이는 코어 폴더(예:
--map-source-dir core c:\work를 매핑하는 데 가장 일반적으로 사용됩니다.
이는 core 폴더의 모든 소스 경로가 SOURCE_DIRECTORY/core 대신 c:₩work₩core에서 로드되도록 합니다.
이를 사용하여 core 외에 다른 공유 폴더를 지정할 수 있습니다.
--map-source-dir로의 두 번째 인수는 매핑된 dir의 디렉토리가 아니라 다른 위치의 루트 디렉토리를 지정합니다. 매핑된 디렉토리 이름은 이 루트에 결합됩니다.
직렬로 컴파일하도록 엔진에 알립니다(병렬 처리 없음). 직렬로 실행하는 것이 이해하기 더 간단하기 때문에 일반적으로 data-compile을 디버깅하는 데 사용됩니다. 또한 병렬 컴파일이 계속 실패할 경우 작업을 지속하기 위한 방법으로 사용할 수도 있습니다.
지정된 플래그가 true라는 가정 하에 리소스를 컴파일해야 한다는 것을 나타냅니다.
지정된 플래그가 false라는 가정 하에 리소스를 컴파일해야 한다는 것을 나타냅니다.
디버깅에만 사용됩니다. 엔진이 부트 프로세스에 고정되도록 지시해, 계속 진행하기 전에 디버거를 부착할 수 있는 기회를 제공합니다.
엔진이 버전 번호를 인쇄하도록 합니다.
부팅 후 물리적 메타데이터 파일을 덤프하도록 엔진에 알립니다. 이 파일은 물리적 오브젝트를 컴파일하려는 각 플랫폼에 필요합니다. 미리 빌드한 파일은 core/physx_metadata에 있으므로 이 매개변수를 사용할 필요가 전혀 없습니다.
썸네일 서버 모드에서 부팅되도록 엔진에 알립니다. 이 모드에서 엔진은 프로젝트 리소스에 대한 썸네일 이미지를 생성하라는 요청과 이에 대한 서비스 요청을 듣게 됩니다.
엔진에 유닛 테스트를 실행하도록 알립니다.
오래 실행되는 유닛 테스트 --test-for-minutes 및 --test-for-hours를 활성화합니다.
지정된 NAME과 일치하는 테스트만 실행합니다.
끝나면 오류를 보고하는 대신 각 테스트에 대한 하드 어설션을 합니다.
유닛 테스트 시 디스크를 터치하도록 허용합니다.
유닛 테스트 시 네트워크를 사용하도록 허용합니다.
File Server에서 스트리밍된 데이터로 엔진을 실행하는 데 사용됩니다. 엔진은 지정된 IP 주소에서 파일 서버에 접촉을 시도하고 --data-dir 또는 --bundle-dir에서 프로젝트를 스트리밍합니다.
여러 서버의 연결을 시도하려는 경우 쉼표로 구분된 IP 목록을 사용할 수 있습니다.
여러 호스트 인수를 지정하여 여러 주소에서 파일 서버를 찾을 수 있습니다. 이는 파일 서버가 여러 네트워크 카드가 있는 머신일 때 유용합니다.
임의의 클라이언트가 자산 서버에 연결하는 것을 방지하는 보안 옵션입니다. 서버와 클라이언트를 연결할 수 있으려면 동일한 --secret 인수로 시작해야 합니다. 또한 .stingray-asset-server-directory라는 파일이 있는 디렉토리에만 액세스할 수 있습니다. .stingray-asset-server-directory 파일의 내용은 중요하지 않습니다.
모바일 장치에서 엔진은 WiFi를 통한 스트리밍 속도를 높이기 위해 제공된 파일을 로컬로 캐시합니다. 특정 이유로 해당 캐시를 비활성화하려는 경우 이 매개변수를 사용할 수 있습니다.
이 매개변수를 사용하여 기본값 대신 파일 캐시에 대해 다른 디렉토리를 지정할 수 있습니다. 모바일이 아닌 플랫폼에서 파일 캐시를 활성화할 때에도 이를 사용할 수 있습니다.
이 인수를 사용하면 로컬 파일 캐시의 모든 파일이 삭제됩니다.
이 인수를 사용하면 엔진 부팅 시에 모든 스트리밍 리소스를 건드려 로컬로 캐시되도록 함으로써 나중에 재생할 때 지연되지 않도록 합니다.
이 인수를 사용하면 파일 서버의 모든 컨텐츠가 로컬의 특정 디렉토리로 설치되므로 나중에 엔진이 파일 서버에 연결되지 않고 실행될 수 있습니다.
--install-dir 인수와 동일하지만 설치 디렉토리로 사용자 지정 디렉토리 대신 기본 디렉토리를 사용합니다. iOS에서만 사용할 수 있습니다.
자산 서버 모드에서 부팅되도록 엔진에 알립니다. 이 모드에서 엔진은 포트 14032에서 데이터를 컴파일하라는 요청과 이에 대한 서비스 요청을 듣게 됩니다.
이 매개변수를 사용하면 엔진은 우선 settings.ini(또는 --ini 매개변수로 지정된 아무 파일)에서 설정을 로드한 다음 --editor-ini에 지정된 파일에서 설정을 로드하고, 이를 사용해 settings.ini의 설정을 오버라이드합니다.
이는 일반적으로 편집기 모드에서 엔진을 시작할 때 사용됩니다.
엔진을 펌프 모드로 강제합니다. 이 모드에서는 TCP/IP 연결을 통해 새 프레임으로 진행하라는 명시적인 명령을 받지 않는 한 그렇게 진행하지 못합니다.
이는 Application.session_id()로 쿼리할 수 있는 정수를 설정하여 실행 중인 여러 응용프로그램 복사본을 구분합니다.
이는 Android의 실행 파일로 정보를 전달하도록 Java 레이어에서 사용하는 내부 매개변수입니다.
이는 자동 창 생성을 비활성화하고 창 생성 책임을 게임플레이 레이어에 둡니다.
Viewport Provider 모드에서 부팅되도록 엔진에 알립니다. 이 모드에서 엔진은 자체 창을 생성하지 않습니다.
엔진 메인 창의 치수를 지정합니다.
엔진이 자동으로 상위 프로세스에 연결되지 않도록 합니다.
엔진 메인 창이 지정된 창에 대한 하위 창으로 생성되도록 지정합니다. Windows만 해당합니다.
엔진의 원시 WM_INPUT 메시지 사용을 비활성화합니다.