mirror of
https://github.com/WiiLink24/wfc-server.git
synced 2026-04-26 02:05:38 -05:00
55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
package gpsp
|
|
|
|
import (
|
|
"wwfc/common"
|
|
"wwfc/gpcm"
|
|
"wwfc/logging"
|
|
)
|
|
|
|
var ServerName = "gpsp"
|
|
|
|
func StartServer() {
|
|
}
|
|
|
|
func NewConnection(index uint64, address string) {
|
|
}
|
|
|
|
func CloseConnection(index uint64) {
|
|
}
|
|
|
|
func HandlePacket(index uint64, data []byte) {
|
|
moduleName := "GPSP"
|
|
|
|
// TODO: Handle split packets
|
|
message := ""
|
|
for _, b := range data {
|
|
message += string(b)
|
|
}
|
|
|
|
commands, err := common.ParseGameSpyMessage(message)
|
|
if err != nil {
|
|
logging.Error(moduleName, "Error parsing message:", err.Error())
|
|
logging.Error(moduleName, "Raw data:", message)
|
|
replyError(moduleName, index, gpcm.ErrParse)
|
|
return
|
|
}
|
|
|
|
for _, command := range commands {
|
|
switch command.Command {
|
|
default:
|
|
logging.Error(moduleName, "Unknown command:", command.Command)
|
|
logging.Error(moduleName, "Raw data:", message)
|
|
replyError(moduleName, index, gpcm.ErrParse)
|
|
|
|
case "ka":
|
|
common.SendPacket(ServerName, index, []byte(`\ka\\final\`))
|
|
|
|
case "otherslist":
|
|
common.SendPacket(ServerName, index, []byte(handleOthersList(command)))
|
|
|
|
case "search":
|
|
common.SendPacket(ServerName, index, []byte(handleSearch(command)))
|
|
}
|
|
}
|
|
}
|