http://youtube.com/watch?v=l_7p23NIp5o&feature=youtu.be
분할 서버에서 백엔드 단위의 서버들끼리
통신을 하는 게 매우 귀찮은 작업이기 때문에
이 플러그인 하나로 쉽게 통신해 보셈!
지원하는 기능
(skript-reflect 기준으로 설명하겠음.)
1. 서버가 켜지있는 지 확인할 수 있음.
import:
com.pursar.proxyLibrary.api.StatusAPI
set {_bool} to StatusAPI.isOnlineServer("~~")
2. 서버의 TPS를 확인할 수 있음.
import:
com.pursar.proxyLibrary.api.StatusAPI
set {_tps} to StatusAPI.getTPS("~~")
// 서버가 켜져있지 않을 경우, -1.0을 반환합니다.
3. 서버의 접속 중인 플레이어의 인원을 확인할 수 있음.
import:
com.pursar.proxyLibrary.api.StatusAPI
set {_size} to StatusAPI.getPlayerSize("~~")
// 서버가 켜져있지 않을 경우, -1을 반환합니다.
4. 다른 백엔드 단위의 서버로 이동시킨다.
import:
com.pursar.proxyLibrary.api.ConnectAPI
set {_p} to player
set {_server} to "lobby"
set {_cause} to "test connection."
ConnectAPI.connect({_p}, {_server}) // 사유 없이 이동
ConnectAPI.connect({_p}, {_server}, {_cause}) // 사유 포함 이동
4-1. 위의 이동 기능을 사용했을 때, 커스텀 이벤트가 이동된 서버에서 발동함.
import:
com.pursar.proxyLibrary.event.ProxyMoveEvent
on ProxyMoveEvent:
set {_p} to event.getPlayer() // 이동한 플레이어
set {_before} to event.getBeforeServerName() // 이동하기 전 서버 이름
set {_after} to event.getAfterServerName() // 이동 완료한 서버 이름(현재 이벤트가 발동된 서버 이름)
set {_cause} to event.getCause() // 이동 사유(사유가 없으면 <none>, null 을 반환)
broadcast "event called! -> player : %{_p}%, beforeServer : %{_before}%, afterServer : %{_after}%, cause : %{_cause}%"
// 비동기 전용 이벤트이므로, cancel을 할 수 없습니다.
사용 방법
어려울 거 없음. config.yml 안에서
플러그인이 동작할 서버의 이름과
Redis만 연결하면 끝난다.
댓글 0