Team Fortress 2

Team Fortress 2

Not enough ratings
서버를 만들어보자 (구 버전, 최신 버전은 글 링크 참고하세요)
By idiot
최신 가이드는 글 첫 문단을 확인해주세요.
   
Award
Favorite
Favorited
Unfavorite
준비물과 참고사항
최신 가이드는 이쪽으로 가주세요. 옛날 글입니다.
https://steamcommunity.com/sharedfiles/filedetails/?id=3442162165


윈도우에 서버를 설치하실거라면 Steamcmd 를 받아주세요.
리눅스는 wget으로 다운받을 수 있지만 FTP 프로그램을 사용해 넣으실거라면 받아놓으셔도 좋습니다.

사용한 운영체제는 다음과 같습니다.

윈도우: Window 10
리눅스: Debian 9 x64

리눅스는 버전이 많아 일일이 다 설명하기 힘듭니다. 웬만해서 리눅스 서버 설치는 간편한 LinuxGSM[linuxgsm.com]을 사용해 설치하시는 걸 추천드립니다. 설치가 간편하고 방법도 쉽게 설명되어 있습니다.

이 가이드는 팀포 서버의 틀이 되는 기본적인 구축 방법을 주로 담고 있습니다. 때문에 가이드에 특정 모드에 관한 설명은 없습니다. (헤일, 슬렌더, 대난투 모드 등) 찾아보지 않은 것들이기 때문에 딱히 적어둘 생각은 없습니다. 하지만 이 가이드를 보고 서버 구축이 어떻게 이루어지는지 이해를 하신 분들이라면 다른 모드 서버 구축 방법도 인터넷에서 쉽게 찾아볼 수 있을 것입니다.
윈도우 서버 구축
준비물 섹션에 있던 Steamcmd를 다운받고 특정 폴더에 넣어주세요. 앞으로 그 폴더는 서버 업데이트를 위한 폴더가 될겁니다.

Steamcmd를 실행하기 전, 먼저 서버를 설치할 때 쓰이는 명령어에 대해서 설명하면

  • login anonymous - 스팀에서 파일을 다운 받기 위한 익명 로그인
  • force_install_dir G:\servers\DEWILL\serverfiles\main - 서버 설치 경로 설정, 이 옵션을 적지 않으면 Steamcmd가 있는 폴더의 steamapps - common 라는 추가 폴더 안에 설치됩니다.
  • app_update 232250 validate - 서버를 최신 버전으로 업데이트합니다. 232250은 팀포 서버의 앱 아이디입니다.

이렇게 3개를 쓰게 됩니다. 근데 매번 업데이트 할려고 3번 써주는거 귀찮으니 바로 가기를 하나 만들어서 대상에 미리 명령어를 추가해둡시다.

G:\~~~설치 경로~~~\steamcmd.exe 뒤에

+login anonymous +force_install_dir ~~~ 설치 경로~~~ +app_update 232250 validate +quit

요걸 넣으시면 됩니다. 설치 경로는 본인이 서버 메인 파일을 넣고 싶은 폴더로 잡아주시면 됩니다. 저는 드윌님의 이벤트 서버를 예시로 들었기 때문에 G:\servers\DEWILL\serverfiles\main으로 설정되어 있습니다. 맨 뒤에 quit 명령이 추가되어있기 때문에 서버 업데이트가 끝나면 자동으로 Steamcmd가 닫힙니다. 편하죠

명령어를 추가해둔 바로가기를 실행해주시면 서버 설치가 진행됩니다. 처음 설치할 때는 인터넷 속도나 사양에 따라 대략 5분 ~ 30분 정도가 소요되고 이후 업데이트는 패치 용량에 따라 대략 1분 ~ 5분 정도가 소요됩니다.

서버 설치가 끝났다면 설치 경로로 들어가서 srcds.exe의 바로가기를 생성해주세요. 그리고 아까 명령어를 추가했던 것처럼 또 뒤에 명령어를 추가해줄겁니다.

G:\~~~설치 경로~~~\srcds.exe 뒤에

/wait -console -game tf +map koth_harvest_final +maxplayers 24 +tf_allow_server_hibernation 0 +mp_idledealmethod 0

를 추가해주세요. 아래는 각 명령어에 대한 간략한 설명입니다.

  • +map ~~ - 서버의 첫 맵을 정합니다.
  • +maxplayers - 서버 최대 인원을 정합니다. 서버 구동 중 변경할 수 없고 변경하려면 재시작 해야합니다.
  • +tf_allow_server_hibernation - 동면 모드 관련 옵션입니다. 0으로 해두면 언제나 서버가 돌아가고 1이면 서버에 사람이 있을 때만 돌아갑니다.
  • +mp_idledealmethod - 잠수 관련 옵션입니다. 0으로 해두면 잠수하고 있어도 킥하지 않습니다. 그 외에 1이나 다른 숫자는 잠수 중인 플레이어를 추방합니다.

이 외의 다른 옵션은 많으니 공식 위키를 참고하세요.

바로가기에 명령어를 추가하신 후 저장, 그리고 실행해주시면 콘솔 창이 뜨면서 서버가 열리게 됩니다.
리눅스 서버 구축
리눅스 서버는 CLI 운영체제라 윈도우와는 다르게 콘솔 창으로만 조작을 해야 하는 불편함이 있습니다. 그래서 많은 분들이 처음 접할 때 어색해하곤 합니다. 사실 리눅스에서도 설치하는 방법은 똑같지만 어떤 리눅스 운영체제를 쓰느냐에 따라서 조금씩 달라집니다 (ex: 센트OS, 데비안 등). 그래서 리눅스 서버는 간단하고 쉽게 설치할 수 있는 LinuxGSM[linuxgsm.com]을 이용해 설치할 겁니다.

리눅스에 관한 기본 지식은 어느정도 인터넷에서 익혀오시는걸 추천드립니다. 요즘은 인터넷에 잘 설명되어있기도 하고 이 가이드에 쓰려면 너무 길어지기 때문에 양해 부탁드립니다.

사이트에 들어가서 어떤 운영체제를 쓸 것인지 먼저 봐주세요. LGSM과 호환되는 대표적 운영체제는 다음과 같습니다.

  • Ubuntu 16.04 LTS
  • Debian 9
  • CentOS 7

아니면 그 위 버전도 됩니다. 구 버전은 조금씩 다를 수 있지만 웬만해서 거의 다 호환이 되긴 할 겁니다.

운영체제 선택을 마치셨다면 자신이 쓸 운영체제의 필수 설치 파일들을 다운해야 합니다. Dependencies에 가서 자신이 쓸 운영체제로 들어가신 후 커맨드 라인을 복사해서 리눅스 콘솔에 붙여넣어주세요.

필수 설치 파일의 다운 및 설치가 끝났다면 Install 쪽으로 들어가셔서 계속 복붙해넣으시면 됩니다. 정말 쉬워요. ./tf2server install 까지 하셨다면 그 이후에 실행만 해주면 됩니다.

실행 방법은 LGSM으로 실행하는 방법과 정석 방법이 있는데 서버를 한 개만 돌릴거라면 LGSM으로 실행해도 되지만 2개 이상 실행할거라면 정석 방법을 사용해야 합니다. LGSM으로 서버를 열게되면 2개 이상 서버를 열 수 없어요.

LGSM으로 여는 방법과 그에 관한 설명은 아래 Basic Usage 탭에 있으니 확인하시길 바랍니다.
포트 포워딩
컴퓨터나 서버에 방화벽이 아예 꺼져있지 않는 이상 포트 포워딩은 어느 환경에서든 필수입니다.

포트 포워딩은 네트워크 안 포트라는 이름의 도로를 데이터가 지나다닐 수 있게 뚫어주는 작업입니다. 팀포 서버는 UDP 포트 27015, 27020 (소스티비), 27005 (클라이언트) TCP 포트 27015 (RCON) 을 사용합니다.

무조건 뚫어줘야 하는 포트는 UDP 27015 포트이고 나머지는 굳이 안뚫어줘도 됩니다.

윈도우::

윈도우에서 서버를 열 경우 대부분 가정집에서 열기 때문에 공유기 기본 게이트웨이로 들어가셔서 포트 포워딩을 진행해주셔야 합니다. cmd창을 하나 여시고 ipconfig을 치시면 자신의 기본 게이트 웨이가 나오게 됩니다. 기본 게이트 웨이로 들어가시고 공유기의 어드민 아이디와 비밀번호를 입력해 공유기 제어판으로 들어가주세요. (아이디와 비밀번호는 공유기를 처음 구입하면 딸려오는 매뉴얼에 적혀있습니다)

포트 포워딩말고도 DMZ를 설정해주면 모든 포트가 개방되어 따로 포트 포워딩을 하지 않아도 됩니다. 하지만 보안에 조금 더 신경 쓰고 싶으시다 하시는 분들은 포트 포워딩하는 곳을 찾아주세요.

내부 포트, 외부 포트는 자신이 포트 포워딩 하고 싶은 포트로 선택해주시고 자신의 아이피 체크를 눌러 줍시다. 그리고 적용하면 끝

만약 공유기에서 포트 포워딩을 했는데도 서버가 안열린다면 윈도우 자체 방화벽에서도 포트 포워딩을 해주셔야 합니다.

리눅스::

리눅스는 우선 어떤 네트워크 패키지가 설치되어 있는지 확인해야합니다. 대부분 iptables를 사용합니다. 만약 iptables를 사용한다면

iptables -I INPUT 1 -p tcp --dport 27020 -j ACCEPT

의 형태로 규칙을 적용시킬 수 있습니다. udp면 tcp 대신 udp를 넣어주시면 됩니다.
소스모드 및 플러그인
윈도우::

소스모드 링크[www.sourcemod.net] / 메타모드 링크[www.sourcemm.net]

각각 다운로드 받고 addons라고 되어있는 폴더를 tf 폴더에 집어 넣어주세요. 더 자세하게 보고 싶으시다면 이 글[m.blog.naver.com]을 참고하세요.

소스모드 적용 후 특정 유저에게 어드민을 부여하려면 addons - config - admin_simple.ini 파일을 텍스트 편집 프로그램으로 열어주세요. 그리고 맨 아래에 스팀 아이디와 권한을 적어주시면 됩니다.

스팀 아이디는 STEAM_0:1:0000000와 같은 형태로 붙여주시면 되고 steamrep 같은 사이트에서 쉽게 찾아올 수 있습니다.

예) STEAM_0:1:0000000 "z"

z는 모든 권한이므로 대부분 총어드같은 사람에게 줍니다.

리눅스::

만약 설치를 LGSM으로 했다면 ./tf2server mi 입력 후 나오는 2개의 선택지 (소스랑 메타모드)를 각각 입력해주시면 쉽게 설치할 수 있습니다. 어드민 설정은 FTP 프로그램을 이용해 윈도우와 똑같은 경로로 들어가 권한을 주시면 됩니다.
APM 설치
APM은 아파치 + PHPMyAdmin + MySQL을 통틀어 부르는 말입니다. 아파치는 웹 서버, PHP와 MySQL은 데이터베이스라고 보시면 됩니다. 윈도우와 리눅스 둘 다 xampp를 깔면 편하지만 리눅스의 경우 데이터베이스를 사용하지 않을때는 아파치만 깔면 되므로 개별 설치도 따로 적어두겠습니다.

아파치는 기본 포트 80, SQL은 3306을 이용합니다. 이 두 포트 역시 포트 포워딩을 해주셔야 합니다.

윈도우는 xampp 홈페이지[www.apachefriends.org]로 들어가서 파일을 다운받고 설치해주시면 됩니다. 설치가 끝나면 제어판 패널에서 아파치와 MySQL을 실행해주시면 됩니다.

리눅스는 위에 있는 홈페이지 링크에서 리눅스로 다운받은 후에 xampp 리눅스 질문 페이지[www.apachefriends.org]를 참고하여 설치해주세요. 설치와 실행 방법은 모두 안에 있습니다.

웹 서버만 쓰고 싶은 경우


윈도우::

베리즈 웹쉐어를 쓰는게 편합니다. 설치와 실행은 이 글[studyforus.tistory.com]을 참고해주세요.

리눅스::

만약 아파치만 따로 설치할 경우 운영체제 안에 있는 패키지 설치 모듈을 이용해 바로 설치할 수 있습니다.

데비안이나 우분투일 경우: apt-get install apache2로 설치, service apache2 start 로 실행, stop으로 중지, restart로 재실행

CentOS일 경우: 다음 글 참조[zetawiki.com]

리눅스의 경우 기본 웹 서버 폴더는 var - www - html 폴더로 정해집니다. 안에 있는 기본 html 파일을 삭제하고 그 안에다가 폴더를 만들어 쓰면 편하고, 따로 웹 서버 폴더를 지정할 수도 있습니다.
MGE) MGEMod 설치
MGEMod 다운로드 링크[github.com]

MGE 서버 구축은 단순합니다. 압축 파일 안에 있는거 때려박으면 됩니다. 안에 있는 맵들은 Bzip 툴[gamebanana.com]이나 다른 프로그램을 이용해 웹 서버 폴더에 복사하고 압축해주시면 됩니다.

2대2 스폰 파일을 불러오는 방법은 mgemod_spawnfile "mgemod_spawns_2v2.cfg"을 해주시면 됩니다. 1대1은 그냥 스폰 파일을 쓰시면 됩니다. 스폰 파일은 addons - sourcemod - configs 폴더 안에 있습니다.
매치) Logs.tf 설치
나중에 적을래요 귀찮네요
2 Comments
¡¡¡¡¡¡¡¡WAITERCAT Jan 8, 2024 @ 10:48pm 
별루임 비추
r0Sy Aug 26, 2023 @ 11:40pm 
좆나좋군.