마정자
대표칭호 없음
이해도 | 초보자(스크립트 구성요소나 기본문법은 알아요) |
---|---|
게임버전 (JE) | 1.19.1 |
게임버전 (BE) | 관련없음 |
안녕하세요.
제가 원하고자 하는 것을 마인크래프트 모드로 제작을 하고 싶어서 글을 검색 해보았습니다.
그리고 그것을 정리하면
1. 플러그인은 서버에서만 사용 가능.
2. 모드는 서버, 싱글 둘 다 사용 가능하지만 서버에서 사용하기 위해서는 해당 서버에 접속하여 플레이하는 유저도 모드를 적용해야함.
이렇게더라고요.
그런데 개념적으로 궁금한게 위에처럼만 설명하니간 저는 이렇게 생각이 들더라고요.
그러면 싱글말고 서버에서만 되게 할면 플러그인으로 그냥 모두 구현해서 유저가 귀찮게 적용할 필요 없이 하면 될탠데
왜 플러그인 + 모드를 섞어서 서버를 만드려고 하는걸가? 검색을 해보니 이러시는 분들이 많이 있으신 것 같더라고요.
그래서 플러그인은 모드에서 하지 못하는 무엇인가 있는지 그리고 플러그인이랑 모드의 용도 라던지 이런 전반적인
개념을 설명 해주시면 감사하겠습니다!!
qsef1256
2022.07.03기술적으로 설명하자면, 플러그인의 한계는 마인크래프트 프로토콜입니다. https://wiki.vg/Protocol
차이를 설명하자면, 모드는 마크 자체를 유저들이 뜯어서 새로운 기능을 넣은거고, 플러그인은 기존 마크의 기능을 짜맞춥니다.
일반적으로 설명하자면, 모드는 보통 화려하고 기능이 많습니다. 대신에 말한대로 모드는 귀찮게 유저가 적용해야 하므로 장단점이 있는겁니다
마정자
2022.07.03아하, 그러면 반대로 플러그인에는 한계가 있으니 모드가 귀찮더라도 기능이 많으니 그냥 몽땅 모드로 하면 될탠데
플러그인 + 모드 섞는 이유는 뭘가요? 모드에 화려한 기능이 많아도 모드에서는 안되고 플러그인에서만 되는 것이 있는것인가요?
qsef1256
2022.07.03모드와 플러그인은 서로 사용하는 API가 다르므로 플러그인을 모드로 바꿀 수 없습니다. 이미 만들어져 있는 플러그인들을 모드로 바꿀 수가 없으니 그냥 둘 다 넣어서 사용하는 겁니다
마정자
2022.07.03아, 지금 제가 계속 검색해보면서 정보를 좀 종합 해 본 걸로 혹시 이렇게 이해하면 될가요.
모드는 대충 큰 틀 + 플러그인은 작은 부가 기능 이렇게 생각하면 될가요?
예를들면 FPS 총 게임이라고 가정하면 뭐 총쏘고 총 줍거나 등등 게임의 큰 틀은 모드로 만들고
그 외의 뭐 맞은 부위별로 데미지 다르게 들어가게 하는 플러그인이 있던데 이런거나 미니맵 같은 부가적인 기능들은 플러그인이라고 생각하면 될가요?
qsef1256
2022.07.03모드와 플러그인이 둘 다 있는 것들은 각자 따로따로 만든겁니다 (월드에딧의 경우가 이에 해당)
qsef1256
2022.07.03모드 서버라면 아무래도 모드가 주 컨텐츠가 될 확률이 큽니다. 귀찮은걸 감수하고 모드를 깔아서 쓰는데는 그만한 이유가 있기 마련이죠
다만 꼭 플러그인 = 부가 기능이라고 단정 지을 수는 없습니다. 서버에 따라서는 오히려 모드가 부가 기능일 수도 있습니다.
마정자
2022.07.03아하, 정말 상세한 답변 감사합니다!
qsef1256
2022.07.03그리고, 미니맵은 일반적으로 모드로 사용합니다. 플러그인으로 구현이 어려운 걸로 압니다
마정자
2022.07.03아하, 서로 어디서 구현하는게 쉽고 어렵고 그런게 있군요
조언 감사합니다!
lanthanide
2022.07.031. 마크의 멀티플레이 시스템은 서버와 클라이언트로 나뉜다.
1-2. 플러그인은 서버만 변조하지만, 모드는 클라이언트와 서버 모두를 변조할 수 있다.
1-3. 변조한다는 건, 아이템을 추가한다/없던 기능을 만든다/기존 기능을 삭제한다던지 하는, 바닐라와 모드된(변조된) 것이 다르게 하는 것
2. 서버에서 대부분의 내부 처리를 한다고 생각하고, 클라이언트에서는 주로 그래픽 처리를 한다 생각하면 된다.
2-2. 예시를 들자면, 엔티티 상호작용 연산은 서버에서 하고, 그 결과를 클라이언트에 보내 클라이언트는 그걸 바탕으로 그래픽 출력을 한다.
->
플러그인이 할 수 있는 것: 서버의 일부 기능 변경
블럭/엔티티/플레이어 정보 변경, 파티클 생성, 외부 연결 등
모드가 할 수 있는 것: 서버/클라이언트의 일부 기능 변경
플러그인의 모든 기능, 아이템/엔티티 추가, 리소스 추가 등
->
플러그인의 사용처: 큰 클라이언트 변조가 필요 없는 경우
상점 제작, 건축 서포트, 유저 관리 등
->
모드의 사용처: 클라이언트 변조가 필요한 경우
대규모 아이템/블럭 추가, 서버가 전부 하기엔 과하게 복잡한 연산이 필요한 경우 등
자세히는 적지 못했지만 대충 이런 느낌이라 보시면 될 듯 하네요. 게다가 플러그인으로도 리소스팩 연계하면 아이템 추가 비슷하게 만들 수 있는 식으로 활용처는 무궁무진하니까요.
마정자
2022.07.03와우.
상세한 설명 감사합니다!
예시를 들어주시니 뭔가 더 잘 이해되는 것 같습니다~
허두
2022.07.03플러그인은 서버에만, 모드는 서버와 클라이언트에 모두 적용할 수 있다는 것이 가장 큰 특징이죠! 이 특징만 알면 차이점을 알 수 있습니다.
서버와 클라이언트가 통신할 때, 플러그인은 기본 마인크래프트 클라이언트가 받아들일 수 있는 데이터만 보낼 수 있지만, 모드는 클라이언트를 바꿀 수도 있기에 더 다양한 데이터를 보낼 수 있다는 것이죠! 플러그인이 아무리 데이터를 보내도 클라이언트에서 받아들이지 못하면 무슨 상관이겠냐만 모드는 클라이언트가 받을 수 있도록 수정해준다고 생각하심 편합니다.
예를 들면 플레이어가 사라지게 하는 것은 플러그인만으로도 가능합니다. 기존에 서버에서 클라이언트에 보내던 플레이어의 정보를 보내지 않으면, 클라이언트에서는 플레이어가 없다고 인식하고 플레이어를 표시하지 않거든요.
다만 기존 마인크래프트에서는 그림을 보내는 기능이 없습니다. 따라서 플러그인으로 클라이언트에 그림을 띄우기 위해서는, 지도를 만들어서 지도에 사진 데이터를 그린 후 지도를 보낸다던지, 서버 리소스팩에 그림을 넣어 보내는 등의 편법을 사용해야하지요. 모드는 클라이언트에도 적용할 수 있기에, 모드에 그림 관련 기능을 추가하면 서버에서 클라이언트로 그림을 직접 보낼 수 있습니다.
마정자
2022.07.04아하, 감사합니다!