명령줄 인수(argument)란, 실행파일로의 바로가기나 명령줄을 통해 실행파일을 실행시킬 때 전달할 수 있는 키워드 문자열을 말합니다. 개발자나 사용자의 입맛에 맞게끔 엔진이 실행되는 방식을 맞추고자 할 때 쓰입니다. 게임 대신 에디터를 실행시키는 것과 같은 단순한 것에서부터, 게임을 특정 맵에서 지정된 해상도와 프레임율로 돌리면서 각 프레임을 개별 이미지 파일로 덤핑하는 것처럼 복잡한 것에까지 이릅니다.
모드
언쿠킹 콘텐츠를 사용하여 메인 에디터 실행파일 (UE4Editor.exe
) 을 게임으로 또는 서버로 강제 실행시키는 데 사용되는 인수입니다.
이 명령은 대소문자를 구분하지 않습니다.
예:
UE4Editor.exe -game
인수 | 설명 |
---|---|
-game | 언쿠킹 콘텐츠를 사용하여 게임을 실행합니다. |
-server | 언쿠킹 콘텐츠를 사용하여 게임을 서버로 실행합니다. |
URL 파라미터
게임 시동시 특정 맵을 강제로 로드시키기 위해 실행파일에다 URL을 전달할 수 있습니다. 또한 SERVER 또는 EDITOR 모드와 맵 지정을 결합하면 해당 모드에서 해당 맵을 열 수도 있습니다. URL 전달은 없어도 됩니다만, 넣으려면 실행파일명 바로 뒤에 넣어야 합니다.
URL은 맵 이름 또는 서버 IP 주소 / 부가 파라미터 시리즈의 두 부분으로 구성되어 있습니다. 맵 이름은 Maps 디렉터리에 위치한 맵이면 됩니다. 여기서 (.umap
같은) 파일 확장자는 붙이지 않아도 됩니다. Maps 디렉터리에 있지 않은 맵을 로드하기 위해서는, 절대 경로 또는 Maps 디렉터리로부터의 상대 경로를 사용하면 됩니다. 이 경우엔 파일 확장자를 꼭 붙여야 합니다. 서버 IP 주소는 점으로 나뉜 0에서 255 사이의 값 넷으로 구성된 표준 4분절 IP 주소입니다. 부가 옵션은 맵 이름이나 서버 IP 주소에 덧붙일 때 지정하는 옵션입니다. 각 옵션은 '?'(물음표)로 시작되며, '=' 로 값을 할당할 수 있습니다. 옵션을 '-' 로 시작하면 캐시된 URL 옵션에서 해당 옵션을 제거합니다.
예제:
MyGame.exe /Game/Maps/MyMap
UE4Editor.exe MyGame.uproject /Game/Maps/MyMap?game=MyGameInfo -game
UE4Editor.exe MyGame.uproject /Game/Maps/MyMap?listen -server
MyGame.exe 127.0.0.1
일반 옵션
인수 | 설명 |
---|---|
game | 엔진이 사용할 GameInfo 클래스를 지정합니다. (기본값보다 우선) |
name | 사용할 플레이어 이름입니다. |
서버 옵션
인수 | 설명 |
---|---|
listen | 서버를 리슨 서버로 지정합니다. |
bIsLanMatch | 로컬 네트워크 상의 멀티플레이어 게임인지 설정합니다. (bIsLanMatch=0 ) |
bIsFromInvite | 참가하는 플레이어가 초대되었는지를 나타냅니다. |
spectatoronly | 관람 모드로 게임을 시작합니다. |
스위치
이 인수는 특정 키워드나 사용 용도에 따라 게임이나 에디터에 전달할 수 있습니다. 몇몇 인수는 (-UNATTENDED 식의) 평이한 스위치 형식인 반면, 어떤 것들은 (-LOG=MyLog.txt 식의) "키=값" 쌍입니다. 여기서 명령은 대소문자를 구분하지 않습니다. 스위치 전달 문법은 각 인수 앞에 빼기 부호('-')를 놓고서 바로 이어 씁니다. 서버 스위치를 제외하고는, 스위치 설정시 앞선 '-'가 필요하지 않습니다.
예제:
UE4Editor.exe -silent LOG=MyLog.txt
개발자
ABSLOG
: (LOG= 과 동일) 파일명 길이 검사를 하지 않고 로그 출력합니다.ALLUSERS
: INSTALLGE 가 지정되면 모든 유저에 대한 게임을 추가합니다.AUTO
: (컴파일 도중 등의 경우) 모든 질문에 대해 예스맨이 됩니다.AUTOCHECKOUTPACKAGES
: 저장할 필요가 있는 패키지를 자동으로 체크아웃 시킵니다.AutomatedMapBuild
: 지정된 맵의 자동화 빌드를 수행합니다.BIASCOMPRESSIONFORSIZE
: 크기에 비례한 압축 세팅을 덮어씁니다.BUILDMACHINE
: 빌드 머신으로 설정합니다. 디버그 출력이 켜졌는지 확인할 때 사용합니다.BULKIMPORTINGSOUNDS
: 대량으로 사운드를 가져올 때 사용합니다. (일반 브라우저 전용)CHECK_NATIVE_CLASS_SIZES
: 네이티브 클래스 크기 검사를 켭니다. 주: 콘솔 플랫폼의 네이티브 클래스의 경우 그 크기가 올바를지라도 검사가 실패하게 됩니다.CODERMODE
: 코더 모드를 켭니다.COMPATSCALE
: PCCompat 툴 세팅을 덮어쓰기 위해 호환성 세팅을 수동으로 설정합니다.CONFORMDIR
: 패키지를 합칠 때 사용할 디렉터리입니다.COOKFORDEMO
: 데모용 쿠킹 패키지로 지정합니다.COOKPACKAGES
: 쿠킹 패키지 지정용 태그입니다.CRASHREPORTS
: 엔진 크래시를 항상 보고합니다.D3DDEBUG
: d3d 디버그 장치를 사용합니다.
DEVCON
: 개발자용 보안 연결을 끕니다 (암호화되지 않은 소켓을 사용합니다)DUMPFILEIOSTATS
: 파일 IO 통계를 추적하여 로그합니다.
FIXEDSEED
: 난수 발생기를 고정된 값 0으로 초기화시킵니다.FIXUPTANGENTS
: 분포의 레거시 탄젠트를 자동으로 고칩니다.FORCELOGFLUSH
: 로그를 매 라인마다 가지런히(flush) 합니다.FORCEPVRTC
: 모바일 플랫폼용 pvrtc 텍스처 압축을 강제합니다.FORCESOUNDRECOOK
: 모든 사운드의 완전 재쿠킹을 강제합니다.GENERICBROWSER
: 일반 브라우저를 사용합니다.INSTALLED
: 개발 용도로, 게임이 설치된 것처럼 실행시킵니다.INSTALLFW/UNINSTALLFW
: 파이어월 통합 처리를 수행할지 여부를 정합니다.INSTALLGE
: 게임을 Game Explorer(게임 익스플로러)에 추가합니다.CULTUREFORCOOKING
: 쿠킹용으로 사용될 언어를 설정합니다.LIGHTMASSDEBUG
: 라이트매스를 -debug를 통해 수동으로 실행시켜 라이트매스를 여러번 실행되게 할 수 있습니다.LIGHTMASSSTATS
: 모든 라이트매스 에이전트가 상세 통계를 로그에 강제로 출력시킵니다.LOG
: 스위치(-log)로 사용되면 별도의 창을 열어 로그 내용을 실시간으로 출력합니다. 세팅(LOG=filename.log)으로 사용되면 엔진이 바로 뒤따르는 문자열 로그 파일명을 사용하도록 합니다.LOGTIMES
: 로그 출력에 시간을 덧붙입니다. (기본적으로 Engine.ini 의 [LogFiles] 에 LogTimes=True 줄을 넣는 것과 똑같습니다.)NOCONFORM
: 패키지가 컴파일중일 때는 합치지 않도록 합니다.NOCONTENTBROWSER
: 콘텐츠 브라우저를 끕니다.NOINNEREXCEPTION
: 네이티브 C++ 내의 예외 처리기를 끕니다.NOLOADSTARTUPPACKAGES
: 스타트업 패키지가 로드되지 않도록 강제합니다. 스타트업 패키지의 오브젝트를 에디터에서 지워야 하는 경우 사용하기에 좋습니다.NOLOGTIMES
: 로그 출력에 시간을 출력하지 않습니다. (기본적으로 Engine.ini 의 [LogFiles] 에 LogTimes=False 줄을 넣는 것과 똑같습니다.)
NOPAUSE
: 나갈 때 로그창을 자동으로 닫습니다.NOPAUSEONSUCCESS
: 오류가 없는 경우 나갈 때 로그창을 자동으로 닫습니다.NORC
: 리모트 컨트롤을 끕니다. 전용 서버에 사용됩니다.NOVERIFYGC
: 가비지 컴파일러 가정을 검증하지 않습니다.NOWRITE
: 로그 출력을 끕니다.
SEEKFREELOADING
: 쿠킹된 데이터만 사용합니다.SEEKFREEPACKAGEMAP
: 패키지 맵으로 seekfree (쿠킹된) 버전으로 덮어씁니다.SEEKFREELOADINGPCCONSOLE
: PC 콘솔 모드용으로 쿠킹된 데이터만 사용합니다.SEEKFREELOADINGSERVER
: 서버용으로 쿠킹된 데이터만 사용합니다.SETTHREADNAMES
: (Xbox 전용) 스레드명을 강제로 설정합니다. XDK COM API를 망칠 수 있기에, 필요한 경우 수행할 것을 명시적으로 설정해야 하는 겁니다.SHOWMISSINGLOC
: 현지화된 텍스트가 없는 경우, 영문 텍스트 대신 오류 문자열을 반환합니다.SILENT
: 출력 및 피드백을 끕니다.TRACEANIMUSAGE
: 애니메이션 사용량을 추적합니다.TREATLOADWARNINGSASERRORS
: 로드 경고를 오류로 강제 처리합니다.UNATTENDED
: 부재중으로 설정합니다. 유저로부터 요구되는 피드백을 끕니다.UNINSTALLGE
: 게임 익스플로러로부터 게임을 제거합니다.USEUNPUBLISHED
: Unpublished (지양상태?) 폴더에 있는 패키지를 강제로 사용되게 합니다.VADEBUG
: 비주얼 스튜디오 디버거 인터페이스를 사용합니다.VERBOSE
: 컴파일러가 상세 출력을 사용하도록 설정합니다.VERIFYGC
: 가비지 컴파일러 가정을 강제로 검증하도록 합니다.WARNINGSASERRORS
: 경고를 오류로 간주합니다.
렌더링
ConsoleX
: 콘솔 출력창의 가로 위치입니다.ConsoleY
: 콘솔 출력창의 세로 위치입니다.WinX
: 화면상에 게임창의 가로 위치입니다.WinY
: 화면상에 게임창의 세로 위치입니다.ResX
: 게임창용 가로 해상도입니다.ResY
: 게임창용 세로 해상도입니다.VSync
: 명령줄을 통해 VSYNC를 활성화시켜 (이미지가 찢기는 걸 방지합니다만 FPS와 입력 지연이 생겨) 버립니다.NoVSync
: 명령줄을 통해 VSYNC를 비활성화시킵니다.BENCHMARK
: 프레임 생략 없이 각 프레임을 처리하기 위해 고정-단위로 게임을 실행합니다. DUMPMOVIE 옵션과 조합하기에 좋습니다.DUMPMOVIE
: 렌더링된 프레임을 게임의 현재 해상도를 사용하여 파일로 덤프합니다.EXEC
: 지정된 실행 파일을 실행시킵니다.FPS
: 벤치마킹용 초당 프레임(FPS)를 설정합니다.FULLSCREEN
: 게임이 전체화면 모드에서 실행되도록 설정합니다.SECONDS
: 최대 틱 시간을 설정합니다.WINDOWED
: 게임이 창 모드에서 실행되도록 설정합니다.
네트워크
LANPLAY
: 엔진이 서버에 연결할 때 클라이언트 대역폭에 제한을 두지 않게 합니다. 서버 업데이트 양을 배로 하여 클라이언트의 대역폭을 포화시킬 수 있습니다.Limitclientticks
: 네트워크 업데이트를 강제로 조절합니다.MULTIHOME
: 엔진이 네트워킹용 멀티홈 주소를 사용하게 합니다.NETWORKPROFILER
: 네트워크 프로파일러 트래킹을 켭니다.NOSTEAM
: 스팀워크스를 사용하지 않게 합니다.PORT
: 엔진이 지정된 포트 번호를 사용하게 합니다.PRIMARYNET
: 엔진이 네트워크 바인딩을 처리하는 방법에 영향을 끼칩니다.
유저
NOHOMEDIR
: 내 문서 폴더를 홈 디렉터리로 사용하던 것을 덮어씁니다.NOFORCEFEEDBACK
: 엔진의 강제 피드백을 끕니다.NOSOUND
: 엔진으로부터의 사운드 출력을 끕니다.NOSPLASH
: 게임 로딩시의 스플래시 이미지 사용을 끕니다.NOTEXTURESTREAMING
: 텍스처 스트리밍을 끕니다. 항상 최고품질 텍스처가 로딩됩니다.ONETHREAD
: 멀티-스레드가 아닌 싱글-스레드를 사용하여 엔진을 실행시킵니다.PATHS
: 의견이 분분한 콘텐츠 테스팅용으로 사용할 경로를 설정합니다. 출하 공개판용으로는 사용되지 않습니다.PREFERREDPROCESSOR
: 특정 프로세서에 대한 스레드 친화력을 설정합니다.USEALLAVAILABLECORES
: 타깃 플랫폼에서 사용가능한 코어 전부를 강제로 사용하게 합니다.
서버 스위치
LOGIN
: 로그인시 사용할 유저명을 설정합니다.PASSWORD
: 로그인시 사용할 패스워드 설정입니다.
게임 통계/데이터베이스
NODATABASE
: 데이터베이스를 사용하지 않습니다. 데이터베이스 연결 오류를 무시합니다.NOLIVETAGS
: SQL 데이터베이스로부터 검증되지 않은 태그 변경사항의 로딩을 생략합니다. 현재 유저에 대한 것만 로딩합니다.
INI/환경설정 파일
ENGLISHCOALESCED
: 해당 언어의 현지화 버전이 없는 경우 기본 (영어) 합체된 .ini 파일로 되돌립니다.NOAUTOINIUPDATE
: .ini 파일 업데이트를 위한 프롬프트를 억제합니다.NOINI
: .ini 파일을 업데이트하지 않습니다.REGENERATEINIS
: .ini 파일 재생성을 강제합니다.
또한 명령줄 인수를 통해 게임이나 에디터가 로드하는 INI 파일을 임시로 덮어쓸 수 있습니다. 예를 들어 커스텀 'MyGame.ini' 를 'MyOldGame.ini' 대신 사용하려는 경우, 인수는 -GAMEINI=MyGame.ini 로 하면 됩니다. 아래 표는 UE4 에서 사용되는 다양한 INI 파일을 덮어쓰는 데 사용되는 인수를 나타냅니다:
명령줄 인수 | INI 덮어쓰기 |
---|---|
DEFEDITORINI= |
Default Editor |
EDITORINI= |
Editor |
DEFEDITORUSERSETTINGSINI= |
Default EditorUserSettings |
EDITORUSERSETTINGSINI= |
EditorUserSettings |
DEFCOMPATINI= |
Default Compat |
COMPATINI= |
Compat |
DEFLIGHTMASSINI= |
Default Lightmass |
LIGHTMASSINI= |
Lightmass |
DEFENGINEINI= |
Default Engine |
ENGINEINI= |
Engine |
DEFGAMEINI= |
Default Game |
GAMEINI= |
Game |
DEFINPUTINI= |
Default Input |
INPUTINI= |
Input |
DEFUIINI= |
Default UI |
UIINI= |
UI |
디버깅
BugLoc
(예:BugLoc=(X=1798.8569,Y=475.9513,Z=-8.8500)
)BugRot
(예:BugRot=(Pitch=-1978,Yaw=-7197,Roll=0)
)
기타
timelimit
(예:timelimit=[제한시간]
)goalscore
(예:goalscore=[목표점수]
)numbots
(예:numbots=[봇 수]
)