이곳의 내용을 번역(약간의 의역)한 것입니다.
오늘은 SMAPI에서 제공하는 Multiplayer 이벤트들을 알아보도록 하자.
멀티플레이어 메세지와 connection 관련하여 this.Helper.Events.Multiplayer
가 여러 이벤트를 지니고 있다.
event | summary | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PeerContextReceived | 플레이어가 mod context를 받으면 발생한다. 호스트, 클라이언트(framhand) 상관 없이 모든 플레이어에게 적용된다. SMAPI가 설치되어있지 않아도 해당된다. 이 이벤트는 SMAPI로 플레이어에게 메세지를 보낼 수 있는 가장 초기 시점이라 보면 된다. 게임이 연결을 승인하기 직전 이 이벤트가 발생하기 때문에, 그 시점에 플레이어는 아직 게임에 없다. 호스트에 연결할 때 Event arguments:
| |||||||||||||||
PeerConnected | 다른 플레이어의 연결이 게임에서 승인되었을 때 발생한다. (호스트, 클라이언트 상관 없이) 모든 플레이어에게 적용된다. SMAPI를 설치하지 않은 플레이어도 해당된다. 이 이벤트는 플레이어가 이 시점에 게임에 연결되므로 Event arguments:
| |||||||||||||||
ModMessageReceived | mod message가 네트워크를 통해 수신되었을 때 발생한다. Event arguments:
| |||||||||||||||
PeerDisconnected | 플레이어의 접속이 끊겼을 때 발생한다. Event arguments:
|
지금까지 정해진건 이렇다.
한 달 총 비용 2400원이 목표. 사람을 더 모으면 1인당 몇백원대로 떨어질거다. 그 전까지는 열심히 서비스에 다이어트를 시키자.
Node.js는 나머지 파트를 계속 배우면 되고, SMAPI용 모드를 만들려면 C#도 학습해야 한다. C#은 Java와 비슷한 점이 너무 많아서 하루에 100페이지씩 나가도 될 것 같다. C# 이거는 2019년에 산 책인데... 이제는 그만 놀고 좀 읽어야 하지 않겠니?
예상 외로 SMAPI가 멀티플레이 관련해서 제공하는 기능이 너무 적었다. 그래서 Steam API쪽도 더 훑어볼 필요가 있다. 생각보다 Node.js에 더 많은 작업을 끼얹을 것 같은 느낌이다.😶
사무실에 gpu 달린 서버가 있는데 테스트 해볼 수 있을까요??