(도커 이미지 출처:https://hub.docker.com/r/factoriotools/factorio/)
팩토리오 입문한지 일주일 된 뉴비인데 찾아보니 팩토리오 도커 서버 이미지가 있어서 도커로 서버 여는 법 공략을 써보려 함
공략 전에 내 서버 os는 Ubuntu 22.04.3 LTS 이니깐 참고 사실 도커라 무슨 os 이든 상관 없긴 함
1.서버 파일 저장 폴더 생성
도커는 기본적으로 컨테이너의 포트를 바꾸거나 팩토리오 서버의 버전을 바꾸는 등의 행동을 컨테이너를 삭제한 뒤 재생성 하는 방식으로 진행하기 때문에 서버 파일을 미리 저장해놓지 않으면 너가 만들어 놓은 서버가 한순간에 사라질 수 있음. 때문에 저장 폴더를 미리 니 컴퓨터에다 만들어 놔야 한다.
일단 너가 폴더를 저장하길 원하는 위치에 들어가서 (나는 이후에 원도우에서도 접근하기 쉽게 하기 위해 공유 폴더에다 저장함)
sudo mkdir -p 너가_원하는_폴더_이름
cd 너가_원하는_폴더_이름
을 순서대로 쳐서 폴더를 만든 뒤 폴더 내부로 이동하자
2. docker-compose 파일 생성
폴더 속에서
sudo nano docker-compose.yml
을 쳐서
라는 내용의 파일을 작성한 뒤 ctrl+o , ctrl+x 를 쳐서 저장하고 나와준다
나온 뒤
sudo docker-compose up -d
를 쳐주면 서버가 만들어진다
3.포트포워딩
이제 너가 만든 서버를 다른 사람들이 들어올 수 있게 포트포워딩 이라는 것을 해줘야 함
먼저 주소창에 192.168.0.1 을 입력해서 공유기 설정 페이지로 접속한 뒤 로그인 한 뒤
(iptime 공유기라면 192.168.0.1 을 주소창에 입력하면 되고 다른 회사 공유기라면 검색해서 찾아보셈)
고급설정-NAT/라우터 관리-포트포워드 설정 순서로 들어가면
대충 이런 화면이 보일건데
여기에 규칙을 만들어 줘야함
이름은 너 원하는 걸로 하고 프로토콜은 udp 외부포트 내부포트에 모두 34197 친 뒤 저장
내부 ip 주소는 너가 서버를 돌릴 컴퓨터 내부 ip 주소로 하면 된다(내부 ip 보는 법은 os마다 다르므로 검색해서 찾아봐)
4. 서버 설정
사실 3까지만 해도 서버 자체는 열리지만 당연하게도 서버 이름이나 필요에 따라 비밀번호,모드 등을 추가 해 줘야겠지?
아까 만들었던 팩토리오 서버 폴더 내부에 들어가면 뭐가 이것저것 생겨있을 거임
(갑자기 윈도우인 이유는 위에서 설명했듯 서버 공유폴더에 파일을 저장해서 윈도우에서도 네트워크 드라이브를 통해 접속할 수 있게 한 것)
mods 파일에 모드를 추가하면 모드 사용 가능
쨋든 config 파일에 들어가면
이런 파일들이 보이는데 여기서 파일을 수정하여 서버 이름이나 공해 설정들을 할 수 있다
당장 server-settings.json 파일에서 수정해야 할 것은 2가지임
첫번째 밑줄은 서버 이름을 설정하는 부분이고 동그라미는 저기에 니 계정 아이디,비번을 써야 팩토리오 공개서버 리스트에 니 서버가 검색이 됨
(저기다가 스팀 아디 비번 넣으면 오류나니깐 factorio.com 에 들어가서 스팀 계정이랑 연동한 뒤 프로필에 보이는 username 이랑 password 집어넣어)
설정이 완료된 뒤에는 서버 컴퓨터에서
sudo docker restart factorio-server
를 입력해 서버를 재시작 해주는 것을 잊지 말자
5. 서버 접속
이제 팩토리오에서 공개게임 찾아보기에 들어가서 너가 아까 설정한 이름을 검색하면 서버가 보인다 들어가면 끝
윈도우 도커는 hyper-y로 리눅스 띄우고 그위에 도커 올리는 거잖아
리눅스는 우분투든 페도라든 커널은 같으니까 상관없는데 윈도는 wsl도 그렇고 커널자체가 다른거라 하이퍼바이저 필수인든
근데 팩토리오 도커이미지가 있었네 팩토 공홈엔 없어서 그냥 헤드리스만 썼는데
근데 저거 팩토리오는 udp만 쓰는걸로아는데 Tcp포트는 컨테이너 관리포트임?
ㅇㅇ rcon포트임
rcon툴 추천 되냐? 마크할때도 맨날 ssh로 콘솔보고했었는데
컴퓨터면 mcrcon 쓰고있음 숏컷 기능으로 주소,비번 저장해서 아이콘만 누르면 접속되게 할 수 있음 - dc App
한글 nano 있는거 첨보네 ㅋㅋㅋㅋㅋ
우분투나 데비안 둘 다 콘솔에서 한글설정하면 한글로 바뀌던데? 대신 콘솔에선 폰트가 없어서 다 깨지고, 리모트 콘솔로 로컬 폰트 써야 정상적으로 보임
서버돌리는건 권장사양같은거 따로 있음? - dc App
나도 팩토리오 뉴비라 잘 모르긴 하는데 찾아보니 듀얼코어 2.4ghz 수준에 램 4기가만 돼도 메가베이스까지 무난히 만든다 함 모드까지 넣었을 경우는 나도 모르겠다
매칭서버 돌려도 포트 열어야함? 개인이 열때도 매칭서버 쓰면 포트 굳이 안열잖아 다이렉트ip로 열린포트로 뭐 쑤셔넣을것같은데..
다시 해보니깐 포트포워딩 안하면 서버가 접속이 안되는데 이유를 모르겠다
이거로 엔젤모드 돌리면 오류남. 돌리려면
https://github.com/factoriotools/factorio-docker/issues/114
참조하셈 - dc App
sudo docker-compose up -d를 입력해도 파일이 더 안생기는데?