UDN
Search public documentation:

CommandLineArgumentsKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 언리얼 엔진 3 기본 > 언리얼 엔진 3 명령줄 인수

언리얼 엔진 3 명령줄 인수


문서 변경내역: Jeff Wilson 작성. 홍성진 번역.

개요


명령줄 인수(argument)란, 실행파일로의 바로가기나 명령줄을 통해 실행파일을 실행시킬 때 전달할 수 있는 키워드 문자열을 말합니다. 개발자나 사용자의 입맛에 맞게끔 엔진이 실행되는 방식을 맞추고자 할 때 쓰입니다. 게임 대신 에디터를 실행시키는 것과 같은 단순한 것에서부터, 게임을 특정 맵에서 지정된 해상도와 프레임율로 돌리면서 각 프레임을 개별 이미지 파일로 덤핑하는 것처럼 복잡한 것에까지 이릅니다.

모드


이와 같은 인수는 주요 실행파일을 일반 게임모드 이외의 모드나, 여러가지 (자주 쓰이는 개발자-관련 작업을 위한 작은 특수 어플) 커맨드릿 중 하나를 통해 실행시킬 때 사용됩니다. 별도의 문법 없이 실행파일명 다음에 바로 덧붙여 전달합니다. 명령은 대소문자를 구별하지 않습니다.

예제:

UDK.exe editor

  • Editor: 에디터 실행
  • Server: 게임을 서버로 실행

맵/서버/에디터 URL 파라미터


게임 시동시 특정 맵을 강제로 로드시키기 위해 실행파일에다 URL을 전달할 수 있습니다. 또한 SERVER 또는 EDITOR 모드와 맵 지정을 결합하면 해당 모드에서 해당 맵을 열 수도 있습니다. URL 전달은 없어도 됩니다만, 넣으려면 실행파일명 바로 뒤에 넣어야 합니다.

URL은 맵 이름 또는 서버 IP 주소 / 부가 파라미터 시리즈의 두 부분으로 구성되어 있습니다. 맵 이름은 Maps 디렉토리에 위치한 맵이면 됩니다. 여기서 (.udk나 .ut3 같은) 파일 확장자는 붙이지 않아도 됩니다. Maps 디렉토리에 있지 않은 맵을 로드하기 위해서는, 절대 경로 또는 Maps 디렉토리로부터의 상대 경로를 사용하면 됩니다. 이 경우엔 파일 확장자를 꼭 붙여야 합니다. 서버 IP 주소는 점으로 나뉜 0에서 255 사이의 값 넷으로 구성된 표준 4분절 IP 주소입니다. 부가 옵션은 맵 이름이나 서버 IP 주소에 덧붙일 때 지정하는 옵션입니다. 각 옵션은 '?'(물음표)로 시작됩니다.

예제:

UDK.exe MyMap.udk?game=MyPackage.MyGame?class=MyPackage.MyPawn
UDK.exe server MyMap.udk?listen=true?bIsLanMatch=true
UDK.exe 127.0.0.1

일반 옵션

  • CHARACTER: 사용할 플레이어 캐릭터.
  • CLASS: 엔진이 사용할 Player 클래스 지정. (기본값 덮어씀)
  • GAME: 엔진이 사용할 GameInfo 클래스 지정. (기본값 덮어씀)
  • NAME: 사용할 플레이어 이름.
  • PASSWORD: 서버에 참가하는 데 필요한 패스워드.
  • TEAM: 플레이어가 속(하거나 선호)한 팀.

서버 옵션

  • bHasVoice: 보이스 지원이 사용가능한지 여부.
  • bIsLanMatch: 로컬 네트워크상에서의 멀티플레이어 게임인지 여부.
  • bRequiresPassword: 온라인 게임에서 패스워드가 필요한지 여부.
  • DEDICATED: 서버를 전용 서버로 지정.
  • GAMEPASSWORD: 서버에 걸려 있는 패스워드.
  • LISTEN: 서버를 리슨 서버로 지정.
  • SERVERDESCRIPTION: 서버용으로 표시할 설명.

UTGame 전용 옵션

  • DIFFICULTY: 게임 내 봇의 스킬 레벨 설정.
  • MUTATOR: 사용할 뮤테이터 지정.
  • NUMPLAY: 사용할 플레이어 수. (봇 수 + 플레이어 1)
  • RESTART: 맵 재시작.
  • SPECTATORONLY: 관람 모드로 게임 시작.

스위치


이 인수는 특정 키워드나 사용 용도에 따라 게임이나 에디터에 전달할 수 있습니다. 몇몇 인수는 (-UNATTENDED 식의) 평이한 스위치 형식인 반면, 어떤 것들은 (-LOG=MyLog.txt 식의) "키=값" 쌍입니다. 여기서 명령은 대소문자를 구분하지 않습니다. 스위치 전달 문법은 각 인수 앞에 빼기 부호('-')를 놓고서 바로 이어 씁니다. 서버 스위치를 제외하고는, 스위치 설정시 앞선 '-'가 필요하지 않습니다.

예제:

UDK.exe -silent LOG=MyLog.txt

개발자

  • ABSLOG: (LOG= 과 동일) 파일명 길이 검사를 하지 않고 로그 출력합니다.
  • ALLUSERS: INSTALLGE 가 지정되면 모든 유저에 대한 게임을 추가합니다.
  • AUTO: (컴파일 도중 등의 경우) 모든 질문에 대해 예스맨이 됩니다.
  • AUTOCHECKOUTPACKAGES: 저장할 필요가 있는 패키지를 자동으로 체크아웃 시킵니다.
  • AUTODEBUG: 자동 디버깅을 수행합니다. 언리얼스크립트 디버거를 첨부하고 첫 바이트코드를 만나면 break합니다.
  • AutomatedMapBuild: 지정된 맵의 자동화 빌드를 수행합니다. 자동화 맵 빌드
  • BIASCOMPRESSIONFORSIZE: 크기에 비례한 압축 세팅을 덮어씁니다.
  • BUILDMACHINE: 빌드 머신으로 설정합니다. 디버그 출력이 켜졌는지 확인할 때 사용합니다.
  • BULKIMPORTINGSOUNDS: 대량으로 사운드를 가져올 때 사용합니다. (일반 브라우저 전용)
  • CHECK_NATIVE_CLASS_SIZES: 네이티브 클래스 크기 검사를 켭니다. 주: 콘솔 플랫폼의 네이티브 클래스의 경우 그 크기가 올바를지라도 검사가 실패하게 됩니다.
  • CODERMODE: 코더 모드를 켭니다.
  • COMPATSCALE: PCCompat 툴 세팅을 덮어쓰기 위해 호환성 세팅을 수동으로 설정합니다.
  • CONFORMDIR: 패키지를 합칠 때 사용할 디렉토리입니다.
  • COOKFORDEMO: 데모용 쿠킹 패키지로 지정합니다.
  • COOKPACKAGES: 쿠킹 패키지 지정용 태그입니다.
  • CRASHREPORTS: 엔진 크래시를 항상 보고합니다.
  • D3DDEBUG: d3d 디버그 장치를 사용합니다.
  • DEBUG: 엔진이 디버그 정보를 디버거에게 보내도록, 또는 스크립트 컴파일 도중 디버그 패키지를 빌드하도록 합니다.
  • DEBUGFACEFX: FaceFX 애니메이션을 추적합니다.
  • DEVCON: 개발자용 보안 연결을 끕니다 (암호화되지 않은 소켓을 사용합니다)
  • DUMPFILEIOSTATS: 파일 IO 통계를 추적하여 로그합니다.
  • DUMPUDKSURVEY: UDK 하드웨어 조사를 덤프하기만 합니다. 업로드하지 않습니다.
  • FATALSCRIPTWARNINGS: 디버깅으로부터의 스크립트 경고를 치명적인 것으로 간주합니다.
  • FINAL_RELEASE: FINAL_RELEASE 매크로를 스크립트 컴파일용으로 설정합니다.
  • FIXEDSEED: 난수 발생기를 고정된 값 0으로 초기화시킵니다.
  • FIXUPTANGENTS: 분포의 레거시 탄젠트를 자동으로 고칩니다.
  • FORCELOGFLUSH: 로그를 매 라인마다 가지런히(flush) 합니다.
  • FORCEPVRTC: 모바일 플랫폼용 pvrtc 텍스처 압축을 강제합니다.
  • FORCESOUNDRECOOK: 모든 사운드의 완전 재쿠킹을 강제합니다.
  • GENERICBROWSER: 일반 브라우저를 사용합니다.
  • INCLUDEUTGAMECONTENT: UTGameContent 패키지가 로드되도록 설정합니다.
  • INSTALLED: 개발 용도로, 게임이 설치된 것처럼 실행시킵니다.
  • INSTALLFW/UNINSTALLFW: 파이어월 통합 처리를 수행할지 여부를 정합니다.
  • INSTALLGE: 게임을 Game Explorer(게임 익스플로러)에 추가합니다.
  • LANGUAGEFORCOOKING: 쿠킹용으로 사용될 언어를 설정합니다.
  • 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 줄을 넣는 것과 똑같습니다.)
  • NOMODAUTOLOAD: 모드 클래스를 자동으로 로드하지 않습니다.
  • NOPAUSE: 나갈 때 로그창을 자동으로 닫습니다.
  • NOPAUSEONSUCCESS: 에러가 없는 경우 나갈 때 로그창을 자동으로 닫습니다.
  • NOREMOTECONTROL: 리모트 콘트롤을 끕니다. 전용 서버에 사용됩니다.
  • NORC: 리모트 콘트롤을 끕니다. 전용 서버에 사용됩니다.
  • NOVERIFYGC: 가비지 컴파일러 가정을 검증하지 않습니다.
  • NOWRITE: 로그 출력을 끕니다.
  • OUTPUTHEADERS: 스크립트 패치 내보내기시 헤더 출력을 강제합니다.
  • RC: 리모트 콘트롤이 보이도록 강제합니다.
  • REMOTECONTROL: 리모트 콘트롤이 보이도록 강제합니다.
  • REPAIR: 게임 애셋 데이터베이스 관련 문제를 자동으로 고칩니다.
  • SCRIPTSTACKONWARNINGS: 디버깅 도중 경고에 대한 스크립트 스택을 표시합니다.
  • SEEKFREELOADING: 쿠킹된 데이터만 사용합니다.
  • SEEKFREEPACKAGEMAP: 패키지 맵으로 seekfree (쿠킹된) 버전으로 덮어씁니다.
  • SEEKFREELOADINGPCCONSOLE: PC 콘솔 모드용으로 쿠킹된 데이터만 사용합니다.
  • SEEKFREELOADINGSERVER: 서버용으로 쿠킹된 데이터만 사용합니다.
  • SETTHREADNAMES: (Xbox 전용) 쓰레드명을 강제로 설정합니다. XDK COM API를 망칠 수 있기에, 필요한 경우 수행할 것을 명시적으로 설정해야 하는 겁니다.
  • SHOWMISSINGLOC: 현지화된 텍스트가 없는 경우, 영문 텍스트 대신 에러 문자열을 반환합니다.
  • SILENT: 출력 및 피드백을 끕니다.
  • SKIPDOWNLOADER: 안드로이드에서의 개발 목적으로, 구글 플레이 익스팬션 다운로더를 건너뛰고 수동 동기화된 데이터를 사용합니다.
  • TRACEANIMUSAGE: 애니메이션 사용량을 추적합니다.
  • TREATLOADWARNINGSASERRORS: 로드 경고를 에러로 강제 처리합니다.
  • UNATTENDED: 부재중으로 설정합니다. 유저로부터 요구되는 피드백을 끕니다.
  • UNINSTALLGE: 게임 익스플로러로부터 게임을 제거합니다.
  • USEUNPUBLISHED: Unpublished 폴더에 있는 패키지를 강제로 사용되게 합니다.
  • UTRACE: 스크립트 추적 기능을 켭니다.
  • VADEBUG: 비주얼 스튜디오 디버거 인터페이스를 사용합니다.
  • VERBOSE: 스크립트 컴파일러가 상세 출력을 사용하도록 설정합니다.
  • VERIFYGC: 가비지 컴파일러 가정을 강제로 검증하도록 합니다.
  • WAITFORDEBUGSERVER: UnrealConsole 이 붙을 때까지 게임을 강제 대기시킵니다.
  • WARNINGSASERRORS: 경고를 에러로 간주합니다.
  • WXWINDOWS: 속성창 및 리모트 콘트롤을 켜기 위해 전달해야 합니다.

렌더링

  • ConsolePosX: 콘솔 출력창의 가로 위치입니다.
  • ConsolePosY: 콘솔 출력창의 세로 위치입니다.
  • PosX: 화면상에 게임창의 가로 위치입니다.
  • PosY: 화면상에 게임창의 세로 위치입니다.
  • WindowPosX: 화면상에 게임창의 가로 위치입니다.
  • WindowPosY: 화면상에 게임창의 세로 위치입니다.
  • ResX: 게임창용 가로 해상도입니다.
  • ResY: 게임창용 세로 해상도입니다.
  • VSync: 명령줄을 통해 VSYNC를 활성화시켜 (이미지가 찢기는 걸 방지합니다만 FPS와 입력 지연이 생겨) 버립니다.
  • NoVSync: 명령줄을 통해 VSYNC를 비활성화시킵니다.
  • BENCHMARK: 프레임 생략 없이 각 프레임을 처리하기 위해 고정-단위로 게임을 실행합니다. DUMPMOVIE 옵션과 조합하기에 좋습니다.
  • DUMPMOVIE: 렌더링된 프레임을 게임의 현재 해상도를 사용하여 파일로 덤프합니다.
  • DUMPMOVIE_TILEDSHOT: 렌더링된 프레임을 지정된 해상도 곱수를 사용하여 파일로 덤프합니다. 고해상도 프레임용 타일 샷으로 사용됩니다.
  • EXEC: 지정된 실행 파일을 실행시킵니다.
  • FORCESHADERMODEL2: 셰이더 모델 3 하드웨어에서도 셰이더 모델 2 렌더링 패쓰를 강제합니다.
  • FORCESHADERMODEL3: 셰이더 모델 3 사용을 강제합니다.
  • FPS: 벤치마킹용 초당 프레임(FPS)를 설정합니다.
  • FULLSCREEN: 게임이 전체화면 모드에서 실행되도록 설정합니다.
  • PIXO: pixomatic 소프트웨어 렌더링을 사용합니다.
  • SECONDS: 최대 틱 시간을 설정합니다.
  • SM3: 셰이더 모델 3 사용을 강제합니다.
  • SM4: 가능하면 DirectX 10 사용을 강제합니다.
  • WINDOWED: 게임이 창 모드에서 실행되도록 설정합니다.

네트워크

  • LANPLAY: 엔진이 서버에 연결할 때 클라이언트 대역폭에 제한을 두지 않게 합니다. 서버 업데이트 양을 배로 하여 클라이언트의 대역폭을 포화시킬 수 있습니다.
  • Limitclientticks: 네트워크 업데이트를 강제로 조절합니다.
  • LIVEMACADDRESS: Panorama(파노라마) 연걸용으로 사용할 MAC 주소를 지정합니다.
  • LIVEPORT: 파노라마 연결용으로 사용할 포트를 지정합니다.
  • LIVEREGKEY: 등록 키를 지정합니다.
  • MPGAMETYPE: 쿠킹용으로 사용할 단일 게임타입을 지정합니다.
  • MULTIHOME: 엔진이 네트워킹용 멀티홈 주소를 사용하게 합니다.
  • NETWORKPROFILER: 네트워크 프로파일러 트래킹을 켭니다.
  • NOLIVE: 파노라마를 끕니다.
  • NOSTEAM: 스팀웍스를 사용하지 않게 합니다.
  • PORT: 엔진이 지정된 포트 번호를 사용하게 합니다.
  • PRIMARYNET: 엔진이 네트워크 바인딩을 처리하는 방법에 영향을 끼칩니다.

유저

  • NOHOMEDIR: 내 문서 폴더를 홈 디렉토리로 사용하던 것을 덮어씁니다.
  • NOFORCEFEEDBACK: 엔진의 강제 피드백을 끕니다.
  • NOSOUND: 엔진으로부터의 사운드 출력을 끕니다.
  • NOSPLASH: 게임 로딩시의 스플래시 이미지 사용을 끕니다.
  • NOTEXTURESTREAMING: 텍스처 스트리밍을 끕니다. 항상 최고품질 텍스처가 로딩됩니다.
  • ONETHREAD: 멀티-쓰레드가 아닌 싱글-쓰레드를 사용하여 엔진을 실행시킵니다.
  • PATHS: 의견이 분분한 콘텐츠 테스팅용으로 사용할 경로를 설정합니다. 출하 공개판용으로는 사용되지 않습니다.
  • PREFERREDPROCESSOR: 특정 프로세서에 대한 쓰레드 친화력을 설정합니다.
  • USEALLAVAILABLECORES: 타겟 플랫폼에서 사용가능한 코어 전부를 강제로 사용하게 합니다.

서버 스위치

  • LOGIN: 로그인시 사용할 유저명을 설정합니다.
  • PASSWORD: 로그인시 사용할 패스워드 설정입니다.

게임 통계/데이터베이스

  • CSVSTATS: 쉼표로 분리되는 포맷을 사용하여 파일로 통계를 출력합니다.
  • GAMESTATS: 게임 통계 시각화를 사용합니다.
  • NODATABASE: 데이터베이스를 사용하지 않습니다. 데이터베이스 연결 에러를 무시합니다.
  • NOGADWARNING: 에디터 시동시의 게임 애셋 데이터베이스 경고를 끕니다.
  • NOLIVETAGS: SQL 데이터베이스로부터 검증되지 않은 태그 변경사항의 로딩을 생략합니다. 현재 유저에 대한 것만 로딩합니다.
  • STARTSTATSFILE: 통계 파일로의 출력을 시작합니다.
  • STATFILE: 통계를 출력할 파일명을 설정합니다.
  • XMLSTATS: XML 포맷을 사용하여 파일로 통계를 출력합니다.

INI/환경설정 파일

  • ENGLISHCOALESCED: 해당 언어의 현지화 버전이 없는 경우 기본 (영어) 합체된 .ini 파일로 되돌립니다.
  • NOAUTOINIUPDATE: .ini 파일 업데이트를 위한 프롬프트를 억제합니다.
  • NOINI: .ini 파일을 업데이트하지 않습니다.
  • REGENERATEINIS: .ini 파일 재생성을 강제합니다.

또한 명령줄 인수를 통해 게임이나 에디터가 로드하는 INI 파일을 임시로 덮어쓸 수 있습니다. 예를 들어 커스텀 'MyGame.ini' 를 'UDKGame.ini' 대신 사용하려는 경우, 인수는 -GAMEINI=MyGame.ini 로 하면 됩니다. 아래 표는 UE3 에서 사용되는 다양한 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

ALERT! 2012년 5월 빌드부터 가능한 명령

기본적인 (배열이나 구조체를 제외한) 데이터형에 대한 개별 .ini 파일 값은 이제, 명령줄을 통해서도 덮어쓸 수 있습니다 (Debug/Release/Test 빌드에서만 되고, Shipping/FINAL_RELEASE 에서는 안됩니다).

이 기능은 보통 모바일(이나 콘솔) 용으로, .ini 세팅 하나 바꾸자고 데이터를 다시 쿠킹하기 어려운 경우 명령줄로 쉽게 바꿀 수 있습니다. 이런 식으로 작동합니다:

-ini:IniName:Section1.Key1=Value1,Section2.Key2=Value2,...

예를 들어:

-ini:PS3-UDKEngine:Engine.Engine.bSmoothFrameRate=False,TextureStreaming.PoolSize=100
-ini:ExoGame:AwesomeBoss.HitPoints=100000

올바른 .ini 이름을 쓰는 것이 중요합니다!! 테스트는 (DefaultEngine 이 아닌 UDKEngine 로) 생성된 .ini 파일로만 해 봤으니, 그렇게 하는 편이 좋을 것입니다.

ALERT! 중요: PC 에서 이 기능을 사용하면 로컬에 생성되는 .ini 파일이 업데이트됩니다. 콘솔/모바일 에서 해당 .ini 파일은 읽기 전용이므로, 게임 실행시에만 영향을 끼칩니다.

디버깅

  • 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=[봇수])