Compare commits
4 Commits
4f965ddefb
...
f22ef27ea1
Author | SHA1 | Date |
---|---|---|
Evgeny Kovalev | f22ef27ea1 | 1 year ago |
Evgeny Kovalev | ff86522f0e | 1 year ago |
Evgeny Kovalev | 3a44d2a73d | 1 year ago |
Evgeny Kovalev | d7ea636fe4 | 1 year ago |
7 changed files with 192 additions and 33 deletions
@ -1,13 +1,24 @@ |
||||
package messages |
||||
|
||||
/* |
||||
const ( |
||||
Auth string = "Auth" |
||||
Message string = "Message" |
||||
PlayerAction string = "PlayerAction" |
||||
System string = "System" |
||||
) |
||||
|
||||
type PlayerMessage struct { |
||||
/* |
||||
|
||||
|
||||
} |
||||
*/ |
||||
|
||||
type PlayerMsg struct { |
||||
Type string "json:`Type`" |
||||
Status int "json:`Status`" |
||||
Message interface{} "json:`Message`" |
||||
} |
||||
|
||||
type AuthMsg struct { |
||||
Login string "json:`Login`" |
||||
Password string "json:`Password`" |
||||
} |
||||
|
@ -0,0 +1,59 @@ |
||||
package gameServer |
||||
|
||||
import ( |
||||
"encoding/json" |
||||
"fmt" |
||||
|
||||
messages "daydev.org/shipsgs/internal/Messages" |
||||
"github.com/gorilla/websocket" |
||||
) |
||||
|
||||
type Player struct { |
||||
Name string `json:"Name"` |
||||
Password string `json:"Password"` |
||||
|
||||
//Connection
|
||||
Conn *websocket.Conn |
||||
|
||||
AuthString string `json:"AuthString"` |
||||
|
||||
Level string `json:"Level"` // hidden from user, for balancing purposes
|
||||
|
||||
Kills int `json:"Kills"` |
||||
Killed int `json:"Killed"` |
||||
|
||||
Won int `json:"Won"` |
||||
Lost int `json:"Lost"` |
||||
WinRate int `json:"WinRate"` |
||||
|
||||
Health int `json:"Health"` |
||||
|
||||
Authed bool `json:"Authed"` |
||||
|
||||
GS *GameServer `json:"GS"` |
||||
} |
||||
|
||||
func (pc *Player) Receiver() { |
||||
for { |
||||
_, command, err := pc.Conn.ReadMessage() |
||||
if err != nil { |
||||
fmt.Println("pc err: " + err.Error()) |
||||
} |
||||
|
||||
if pc.Authed == false { |
||||
reply := messages.PlayerMsg{ |
||||
Type: messages.System, |
||||
Status: 401, |
||||
Message: nil, |
||||
} |
||||
|
||||
authRequired, err := json.Marshal(reply) |
||||
if err != nil { |
||||
fmt.Println("pc err: " + err.Error()) |
||||
} |
||||
pc.Conn.WriteMessage(websocket.TextMessage, authRequired) |
||||
} |
||||
|
||||
fmt.Println(command) |
||||
} |
||||
} |
Loading…
Reference in new issue