<colbgcolor=#014568><colcolor=#fff> ViaVersion 비아버전 | |
파일:ViaVersion 로고.svg | |
다운로드 페이지 | ViaVersion Modrinth |
버전 | 1.8.x ~ 1.20.4 |
지원 로더 | Spigot, Velocity, Bungee, Sponge, Forge, Fabric |
공식 링크 | Github 공식문서 |
1. 개요
ViaVersion은 마인크래프트 여러 버전의 접속을 허용하는 모드 혹은 플러그인이다.2. Spigot, Paper 기반
2.1. ViaVersion(상위 버전 접속 허용)
다운로드: https://www.spigotmc.org/resources/viaversion.19254/이 플러그인은 서버 버전보다 높은 클라이언트 버전으로도 접속이 가능하게 해주는 플러그인이다. 1.8 이상의 서버에서 이 플러그인을 사용하면 해당 서버의 버전부터 최신 버전까지 모두 서버에 들어올 수 있게 된다.
서버 버전이 뒤떨어져도 최신 버전에서 접속할 수 있기 때문에 접근성 향상에 상당히 유용한 플러그인이다. 그리고 이전에는 유리판이나 울타리, 큰 상자 같은 블록끼리 이어지는 블록은 서버 버전과 같은 클라이언트 버전이면 텍스쳐가 정상이지만 서버 버전보다 상위버전으로 접속시 텍스쳐가 깨지면서 블록끼리 이어지는 블록은 이어지지 않고 각각 개별의 블록처럼 텍스쳐가 표시되었다.[1]
이 플러그인을 사용할 땐 /reload 명령어를 사용해서는 안 된다. 개발 측에서 버그가 발생한다고 언급하였으며, 서버 충돌이 발생할 가능성이 높고 서버 파일 자체에도 어떠한 영향을 주게될 지 알 수 없다.[2]
이 플러그인을 적용 후 상위 버전의 아이템을 인벤토리에 추가하면 바로 돌 블록으로 바뀌게 된다. 서버에는 상위 버전의 아이템이 존재하지 않아 클라이언트와 서버가 동기화되지 않기 때문이다. 하지만 상위 버전에서만 가능한 동작 등[3]은 가능한 것으로 보인다.[안티치트_문제]
스냅샷 버전 플레이어의 접속도 허용할 수 있다. 이 플러그인의 개발 버전을 다운로드하면 된다. -DEV라고 붙은 것이 개발 버전이다. 참고로 ViaBackwards, ViaRewind도 사용 중이면 그 플러그인들도 -DEV 버전으로 설치해줘야 한다. 그리고 모장에서 스냅샷 버전이 출시될 때마다 이 세 플러그인들도 전부 업그레이드를 해줘야 한다.
2.2. Viabackwards, Viarewind(하위 버전 접속 허용)
다운로드: ViaBackwards, ViaRewind (이 플러그인을 사용하려면 ViaVersion이 필요하다.)이 플러그인은 서버 버전보다 낮은 클라이언트 버전으로도 접속이 가능하게 해주는 플러그인이다.
ViaBackwards는 1.10부터 최신 버전의 서버에서 1.9 버전까지의 하위 버전의 접속을 허용해준다. ViaRewind 플러그인은 1.8~1.9 서버에서 1.7까지의 하위버전의 접속을 허용해준다. 1.10 이상 버전의 서버에서 사용하려면 ViaBackwards까지 넣어야한다.
Spigot(또는 기반) 서버에서 ViaRewind를 버그 없이 사용하려면 ViaRewind-Legacy-Support, ProtocolLib, ViaPotions[5]라는 플러그인까지 추가로 넣어줘야 한다.
이 2개의 플러그인 역시 하위버전들의 접속을 허용해주는 것뿐, 해당 서버 버전에 맞지 않는 플러그인을 사용하면 당연히 작동하지 않는다.
이 2개의 플러그인은 ProtocolSupport 보다 가볍다. 또한, 아이템이 다른 아이템으로 대체되면 원래 블럭의 이름이 뜬다. 또한 대체 블럭과 엔티티 설정이 ProtocolSupport에 비해 좋다.[6]
2인 보트 탑승이 가능하다.
그러나 이 플러그인 역시 1.9 이상의 서버에서 1.8 이하의 클라이언트들은 보트와 카트[7], 말을 조작할 수 없다. 또한 ProtocolSupport와 다르게 상자가 엔더 상자로 변환되지는 않지만, 상자 바로 옆에 상자를 설치할 수 없는 1.12.2 이하의 특성상 1.13 이상의 서버에서 상자 바로 옆에 상자를 설치할 경우 상자가 보이지 않는 버그가 있다.
/reload 명령어는 역시나 쓰면 안 된다. 서버 파일 손상이 일어날 수 있다.
ViaBackwards에만 있는 버그로, 1.13 이상의 서버에서 스코어 보드를 사용할 시 1.12.2 이하의 플레이어 이름이 16자 이후부터는 짤린다.[8]
ProtocolSupport와는 다르게, 최신 버전이 아닌 서버도 버그 수정 등을 지원하므로, 최신 버전의 서버가 아니면 이 플러그인을 쓰는 것이 좋다.
Sponge 서버도 지원한다.
번지코드를 사용하는 서버 중 1.7.x 플레이어가 안 들어와지는 현상이 있다면 Hexagonmc-bungeecord같은 1.7부터 최신버전을 지원하는 번지코드를 사용해야 한다. 또는 Velocity를 사용해도 된다.
1.16.5까지는[9] 월드 높이가 0~256 이었는데 1.18부터 월드 높이가 -64~320으로 바뀌면서 이 플러그인 개발자들에게 비상이 걸렸다. 달라진 월드 높이를 구버전에서 구현할 방법이 딱 하나[10] 있는데 구현이 어렵고 시간이 많이 소요될 것이라 현재 해결한 방법은 0~256까지만 보이게 하고 -64~-1, 257~320 좌표의 블럭들은 1.16.5 이하 버전에서는 안 보이게 하였다. 이로 인해 1.18 이상의 서버에서 0~256을 벗어나는 곳에 건축물이 있다면 1.16.5 이하의 플레이어들이 플레이를 하는 건 사실상 불가능에 가까워졌다. 데이타 팩으로 높이를 구 버전에 맞게 조정하고 건축을 하거나 1.18 이상의 서버에서 1.16.5 이하의 플레이어의 접속을 차단해야 한다. ViaVersion 플러그인의 config.yml에서
blocked-protocols: []
괄호 사이에 1.16.5 이하의 버전 프로토콜 숫자들을 전부 입력하면 된다(...). 참고로 이 문제는 ProtocolSupport도 마찬가지다~~공식적으로 1.17 미만의 버전에서 y=0이하의 블럭을 표시할 생각이 없다고 밝혔다. 이유는 자신들이 추구하는 개발 방향과 다르다고. 자신들은 완전한 역호환성을 만들려는 것이 아니라 그저 신 버전의 서버에 구 버전의 클라이언트가 접속할 수 있도록 만드는 게 목표라고 밝혔고, 신 버전의 서버에 구 버전의 클라이언트가 접속할 수 있게 만든 건 그저 편의성을 위한 플러그인인 것으로 보인다.
3. 모드 기반
3.1. ViaForge
3.2. ViaFabric
3.3. ViaFabricPlus
다운로드: https://modrinth.com/mod/viafabricplus이 모드는 서버와 클라이언트 버전이 일치하지 않을때 클라이언트 버전 선택으로 접속이 가능하게 해주는 Fabric 모드이다. ViaFabric 모드와 호환되지 않는다.
클라이언트 버전 선택이 엄청나게 광범위하고 베드락 버전(실험적)도 지원한다. 또한 히트박스와 물리법칙, 수영, 기능, 검 막기 등 그 서버 버전에 맞게 수정한다.
[1] 지금은 고쳐진 버그지만, 혹시 이런 버그가 나는 경우 config.yml에서
serverside-blockconnection
를 true로 설정해 주면 해결된다.[2] 일부 경우에는 다행히 TPS가 일시적으로 바닥을 치는 것으로 끝날 수도 있지만 다른 경우에는 아예 서버 파일이 손상될 수도 있다고 한다.[3] 1.12.x 서버에서 1.13에서 추가된 수영을 하는 것 등.[안티치트_문제] 그렇기 때문에 nocheatplus, Matrix 등 안티치트는 그런 동작들을 핵이라 오인해 캔슬하거나 추방한다. 만약 이 플러그인을 쓰고 싶은데, 안티치트도 쓰고 싶다면 Spartan, AAC, Vulcan 등 안티치트 플러그인을 쓰는 것을 추천한다, 무료 안티치트 플러그인 중에는 Negativity가 있다.[5] ViaPotions의 경우 1.9 이상의 서버일 경우에만 넣어야 한다.[6] 예를 들면, ProtocolSupport에서는 갑옷 거치대가 하위버전에서는 그냥 보이지 않지만 ViaRewind는 가만히 있는 좀비로 대체된다.[7] 조작이 안 되는 것뿐이니 밀면서 탈 수는 있다.[8] 이는 ViaBackwards 측에서는 못 고친다. ProtocolSupport 와는 달리 ViaBackwards는 최대한 가볍게, 간결하게 작동하도록 하는 방식을 중점으로 개발하는데 이러한 방식을 사용함으로 인해 이 버그를 못 고친다고 한다. 방법이 있는데 스코어 보드 플러그인 측에서 ViaBackwards를 지원하면 32자까지는 해결된다고 한다. Featherboard라는 유료 스코어보드 플러그인이 지원한다. 무료 스코어보드 플러그인 중 지원하는 플러그인은 SternalBoard, AnimatedScoreboard 등이 있다.[9] 1.17에서는 월드 높이를 데이타 팩을 활용해서 높일 수 있다.[10] 일정 y 좌표를 벗어날 시 월드 생성을 다시 하는 방식.