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만 연결하면 끝난다.




첨부파일
ProxyLibrary-1.0.jar
파일 다운로드