Ubuntu에서 OpenTTD를 빌드하는 방법
Ubuntu 20.04(16.04, 18.04 동일)에서 OpenTTD를 빌드하는 방법이다. 자세한 것은 COMPILING.md 파일을 참고하기 바란다.
-
빌드에 필요한 Dependency를 설치한다.
cmake와make,g++는 기본적으로 있어야 하고, 그 외 추가적으로 빌드에 필요한 라이브러리와 그 상세 용도는 아래와 같다.- zlib: 오래된(0.3.0-1.0.5) 세이브 파일, 다운로드한 콘텐츠, 높이맵의 압축(해제) 용도
- liblzo2: 오래된(0.3.0 이전) 세이브 파일 압축(해제) 용도
- liblzma: 세이브 파일(1.1.0 이후) 압축(해제) 용도
- libpng: 스크린 샷을 생성하고 높이맵을 생성하는 용도
- libfreetype: 폰트를 불러오고 렌더링하기 위한 용도
- libfontconfig: 폰트를 찾고 실제 폰트의 이름을 가져오는 용도
- libicu: 오른쪽에서 왼쪽으로 쓰는 글(e.g. 아랍어, 페르시아어 등)이나 문자열의 자연 정렬(리눅스만 해당) 용도
- libsdl2: 하드웨어 접근(비디오, 사운드, 마우스) (Windows나 MacOS에서는 불필요)
다른 건 몰라도 liblzma는 있어야 최근 사용되는 대부분의 세이브 파일을 읽을 수 있다.sudo apt install -y cmake pkg-config g++ zlib1g-dev liblzo2-dev liblzma-dev libpng-dev libfreetype6-dev libfontconfig-dev libicu-dev libsdl2-dev fcitx-libs-dev
-
OpenTTD Github에서 저장소를 클론해온다
git clone https://github.com/OpenTTD/OpenTTD.git- JGR's Patch Pack을 가져오려면
git clone https://github.com/JGRenisson/OpenTTD-patches.git ./OpenTTD를 위 명령어 대신 실행한다.
- JGR's Patch Pack을 가져오려면
-
OpenTTD 폴더로 진입하고 build 폴더를 만든 다음,
cmake ..와make명령어를 실행한다cd OpenTTD mkdir build && cd build cmake .. make- cmake의 버전은 3.12.4 이상이 필요하므로 https://kalten.tistory.com/267 을 참고하여 최신 버전으로 업데이트
-
Let's Encrypt 인증서 발급 (certonly)
Let's Encrypt 인증서는 무료로 사용할 수 있는 인증서로, 무료가 장점이지만 3개월마다 재발급해주어야 하는 것이 단점이다. 재발급은 crontab과 같은 스케쥴러를 이용하면 되므로 결국 우리는 무료+기한없이 SSL 인증서를 웹 서버에 사용할 수 있다. 여기에서는 Let's Encrypt 인증서를 인증서만 발급(certonly)받아 Apache ...
-
블로그 마이그레이션
블로그를 jekyll에서 로컬 개발 환경(PHP)으로 마이그레이션했습니다. jekyll도 훌륭한 도구이지만 아무래도 자주 포스팅하는 입장이 아니다보니 포스트를 Markdown으로 작성한 뒤에 bundle exec jekyll build를 입력하고 Github에 push 하는 것이 여간 귀찮은 일이 아니었습니다. 어차피 저는 PHP가 가장 편하고, Mark ...
-
[PHP] 참조(reference)를 이용해서 재귀함수 없이 row data를 계층형 배열로 가공
카테고리나 답댓글이 있는 댓글 등과 같이 계층형 구조를 가져야 하는 경우, 보통 각 row data를 [no, name, parent, ...] 형식으로 저장하는데 이를 참조(reference)를 이용해서 재귀함수를 사용하지 않고 계층형 배열로 가공하는 방법이다. 예를 들어 아래와 같은 데이터를: //no name parent [1, ...
-
OpenRCT2를 리눅스에 설치하는 방법
OpenRCT2를 Ubuntu 20.04 에 설치하는 방법이다. 설치를 원하는 폴더로 접근 https://openrct2.org/downloads/develop/latest에서 먼저 Linux용 빌드 링크 주소를 복사 wget (복사한 주소) (eg. 0.3.3-develop-8eabdf8 버전의 경우 wget https://github.co ...
-
마인크래프트 멀티플레이 맵을 싱글플레이 맵으로 변환
멀티플레이 서버에 있는 world, world_nether, world_the_end 폴더를 백업 새 싱글플레이 맵을 하나 생성하고 바로 나옴. %APPDATA%/.minecraft/save 폴더 안에 해당 맵 이름으로 된 폴더(이하 "싱글 폴더") 안으로 들어감 멀티의 world 폴더 안의 내용물을 모두 복사 → 싱글 폴더 안에 붙여넣 ...