https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=17771
위 글에서 소개된 저희 대환장 듀오의 타임랩스를 만드는 법을 소개함
순정 PyAL (64시간) 구경 => https://factorio.abstr.net/
설명 없이 알아서들 구비해야할 준비물:
1. 만날 놀고있는 64비트 윈도우 서버 콤퓨타 (Windows Server 계열 아니어도 됨, 서버로 쓸 컴퓨터가 필요하다~ 이말)
2. 공식 홈페이지에서 받은 스팀API 종속이 없는 찐바닐라 팩토리오
3. FactorioMaps Timelapse 모드 - https://mods.factorio.com/mod/L0laapk3_FactorioMaps
구하셨습니까? 그럼 시작합니다 (본 글은 Windows Server 2019 Datacenter에서 테스트되었음)
Python 64Bit와 NodeJS가 필요한데 이미 깔려있는 사람은 깔려있는 것을 써도 되고 없는 사람은
https://chocolatey.org/install 에서 시키는대로
Now run the following command: 섹션에 적혀있는 명령어를 복사해서
(윈도우 탐색기 아무 경로나 들어가서 Alt -> F -> S -> A를 순서대로 치면 나오는) 관리자 권한으로 실행한 Powershell에다 붙여넣은 다음
Chocolatey 설치가 완료되면
다시 관리자 권한 Powershell 창에서
choco install python3 nodejs -y
설치가 완료되면 아까 말한 모드를 factorio/mods에 zip로 둠과 동시에 압축을 풀어줍니다.
압축 푼 모드 폴더 안에서 Powershell을 켜고 (Alt F S A)
python -m pip install -r packages.txt 입력
근데 한글 윈도우라 그런지 CP949 인코딩 오류가 나서 나는 일부 I/O 함수에 encoding="utf8"을 써주니까 재대로 돌아갔음
한글 윈도우 아닌 사람은 그냥 해도 별 문제 없을듯?
auto.py
zoom.py
해당 부분 수정하면 되겠슴
그리고 타임랩스 전용으로 팩토리오 파일을 사용해야 함 이건 해보면 무슨 말인지 알게되는데
타임랩스를 돌리면서 서버를 돌리려면 받은 바닐라 파일을 복사해서 사용하거나 기존에 가지고 있던 팩토리오 파일로 돌려야함
서버로 사용할 server_factorio/config/config.ini 또는 (Headless의 경우) server_factorio/data/setver-settings.json에
autosave_slots 설정을 1로 맞춰준다
타임랩스로 사용할 timelapse_factorio/mods/FactorioMaps 폴더에
automatic.ps1 파일을 만들고
위 링크의 내용을 복붙하고
$SAVE_PATH="server_factorio/saves/_autosave1.zip"
$COPY_PATH="timelapse_factorio/saves/play.zip"
이 부분의 server_factorio 부분과 timelapse_factorio 부분을 올바르게 설정함
이제 timelapse_factorio/mods/FactorioMaps 폴더에서
Powershell을 켜서 ./automatic.ps1 입력하면 SAVE_PATH의 세이브가 변경될 때마다 파일 해시를 감지해서
타임랩스 파일을 만들게 됨
*실행이 안되는 사람은 Set-ExecutionPolicy RemoteSigned 한번 입력하고 해보셈
이제 한 싸이클이 진행되면 timelapse_factorio/FactorioMaps/play.zip/ 폴더에 타임랩스 웹 파일들이 만들어지는데
웹 서버를 켜기 위해 timelapse_factorio/FactorioMaps/play.zip/ 폴더에 들어가서 Powershell을 실행하고
npm install http-server -g과
http-server -c 150을 차례로 입력하면
http://localhost:8080 또는 http://localhost:8080+n에서 타임랩스를 확인 가능함
포트 포워딩이나 리버스 프록시등을 이용해 입맛에 맞게 사용하면 되겠음
이제 플레이하다보면 타임랩스가 점점 생겨나면서 확인가능
자동 세이브 간격을 조절해서 타임랩스 간격 취향에 맞게 설정할 수 있음
자세한 추가 옵션은 해당 모드 GitHub에서 확인 - https://github.com/L0laapk3/FactorioMaps/blob/master/README.md
내가 쓸 일은 없겠지만, 연재할때 좋겠네 개추
뭔말인지 하나도 몰것슈
그래도 따라만 하면 구축 가능함
어후 어렵다
저 utf8 인코딩 오류는 게임에서 한글로 된 역이름이나 지도 마커를 만들게 되면 발생하더라 0.18 최신버전에서는 오류수정된 것 같음
mods.factorio.com에 있는 파일이 아니라 모드 깃허브 레포 파일로 하면 수정 안해도 된다는 얘기임?
팩토리오 0.18.17 기준으로 한건데 오류나던데
타임랩스 폴더에 그냥 play만 복사해서 와지는데 어디서 잘못된건지 몰르겟음