network

[우암 네트워크] - 번지코드 세팅법

FAPER 2025. 5. 7. 21:24

역사와 전통이 있는(?) cifrar.cju.ac.kr 서버의 원래 용도인 마인크래프트 서버를 세팅하는 방법

 

방화벽의 포트는 최대한 많이 안 여는게 좋기 때문에.. 25565(기본포트)로 들어오는 사람에 대해서 프록시 처럼 :1111인 로비로 연결 시키고, 명령어를 통해 야생 서버와 로비를 왔다 갔다 할 수 있게 구현 할 것이다.

사실 nginx를 쓰면 웹 요청에 대해서는 번지코드와 똑같이 작동한다. 그냥 443으로 올 때 내부적으로 도커가 8080을 쓰고 있거나 8888을 쓰고 있거나 하면 거기로 연결 시켜주기 때문이다.

 

일단 디렉토리 구조를 다음과 같이 잡아준다.

 

.
├── lobby
├── proxy
└── wild0

먼저 proxy 폴더에 들어간다.

 

cd proxy

wget https://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar

 

그럼 BungeeCord.jar가 proxy 폴더에 생긴다.

 

java -Xms512M -Xmx512M -jar BungeeCord.jar

 

하면 서버가 켜진다.

그리고 config.yml을 통해서 서버 설정을 해주면 된다.

groups:
  whdcks_:
  - admin

일단 여기에 자기 이름을 써준다. 그럼 관리자로 설정된다.

servers:
  lobby:
    motd: '&1Just another BungeeCord - Lobby'
    address: 0.0.0.0:1111
    restricted: false
  wild0:
    motd: '&1Just another BungeeCord - Wild'
    address: 0.0.0.0:2222
    restricted: false

그리고 이렇게 로비와 서버의 설정을 해준다. 

 

listeners:
- query_port: 25565
  motd: '&1Another Bungee server'
  tab_list: GLOBAL_PING
  query_enabled: false
  proxy_protocol: false
  forced_hosts:
    cifrar.cju.ac.kr: lobby
  ping_passthrough: false
  priorities:
  - lobby
  bind_local_address: true
  host: 0.0.0.0:25565
  max_players: 100
  tab_size: 60
  force_default_server: true

 

그다음 저렇게 설정 해주고 

forced_hosts를 설정해서 해당 도메인으로 접속 할 때 어떤 서버로 가게 할 지 지정한다.

그리고 force_default_server: true를 통해 다른 서버에 있다가 다시 접속 했을 때 로비로 접속되게 한다. false로 설정 시 사용자가 마지막으로 접속한 서버를 기억하여 그쪽으로 연결시킨다.

permissions:
  default:
  - bungeecord.command.server
  - bungeecord.command.list
  - bungeecord.command.send

그리고 이렇게 send 권한을 넣어주면 된다.

 

https://minecraftversion.net/spigot/

 

Download Spigot 1.21 | All Minecraft Versions Available

Download Spigot and get the latest version or choose from older releases for your Minecraft server. We always list the newest builds!

minecraftversion.net

그리고 여기서 이제 lobby와 wild 서버의 버킷을 다운받아 준 후 각각 폴더에서 서버를 켜준다.

그리고 당연히 각 서버의 포트를 1111과 2222로 바꿔준다.

 

마지막으로 해당 서버를 24시간 유지하기 위해서 screen -R <서버명> 으로 각각 세션을 열어서 스크린으로 관리 해주면 된다.