# TankFightServer **Repository Path**: justinchou/TankFightServer ## Basic Information - **Project Name**: TankFightServer - **Description**: Tank Fight Is A Html5 Game, Server Is A Websocket Application. - **Primary Language**: NodeJS - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-11-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Tank Fight Server ==== ## Server API !!! **IMPORTANT** !!! NOTE: ON_* PREFIX USED FOR CLIENT <--> SERVER COMMUNICATION, AND TO_* PREFIX MEANS ONLY USED FOR SERVER --> CLIENT PROTOCOL ### Global API ##### ON_CONNECTION_START ##### ON_CONNECTION_RECONNECT ##### ON_SET_NICKNAME Used For Chat Or Something To Set User Nickname + nickname: String ##### ON_SEND_CHAT_MESSAGE Used For Send Chat Message + message: {String} Chat Message, Not Valid To Send Too Long Message + type: {Enum} 0 Global, 1 Group (receiver is group id), 2 P2PChat {receiver is user id} + receiver: {Number} ### Game API ##### ON_SET_PROTOCOL_VERSION Set Client Protocol Version, This Version Is Used For Server To Differ Logic In Some Occasion. Client -> Server: + protocolVersion {Number} Server Will Also Send Connection Init Info Back To Client, Because This Protocol Is Regarded The First Protocol Of All Other Game Server Logic API. ##### TO_CLEAR_MAP Server Send Message To Make Client Clear All The Data In The Map. ##### TO_ADD_PLAYER Notify Client That A New User Connected. Server -> Client: + objectId {Number} New User Id ##### ON_SET_TARGET Set Player Target Client -> Server: + radian {Number} + rotation {Number} First Rotate This Angle + x {Number} x of radian + y {Number} y of radian ##### TO_UPDATE_MAP Server Send Message To Client To Notify Map Data, Player Data, Props Data, And Drop Data. Server -> Client: + dead: {Dead}[] + killerId: {Number} objectId Of Killer + deadId: {Number} objectId Of Dead Body + player: {Player} + objectId: {Number} + position: {Vector} + x: {Number} + y: {Number} + rotation: {Number} + radian: {Number} + enemy: {Player}[] + objectId: {Number} + position: {Vector} + x: {Number} + y: {Number} + rotation: {Number} + radian: {Number} + proportion: {Vector} + x: {Number} + y: {Number} + nonVisible: {Number}[] List Of Non-Visible GameObject objectId ##### ON_USE_PROPS ##### TO_GAME_OVER ##### TO_GAME_TIME_OVER Server Send Game Time Over Notification To All Clients Server -> Client + rankList: {Rank}[] + name: {String} + isMe: {Number|Boolean} + score: {Number} + prize: {Prize}[] + type: {Number|String} + amount: {Number} ### ObServe Mode API ##### ON_SET_OBSERVE_MODE Client Notify Server That This Client Is An Observer ##### TO_UPDATE_POSITION Server Push Data To Client To Update Position Of All Users. Server -> Client: + mapInfo: + width + height + screen: + width + height + allPlayer: {Player}[] + objectId + position: {Vector} + x + y + isBot: {Boolean} ### Bot Mode ##### ON_SET_BOT Notify Server That I'm A Bot User