forked from name5566/leafserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
79 lines (64 loc) · 1.34 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package main
import (
"encoding/binary"
"flag"
"net"
"os"
"leafserver/src/server/conf"
"leafserver/src/server/game"
"leafserver/src/server/gate"
"leafserver/src/server/login"
"github.com/name5566/leaf"
lconf "github.com/name5566/leaf/conf"
//"github.com/gorilla/websocket"
)
func clientwsrun() (ret int, err error) {
//FIXNE NOT YET IMPEMENT
ret = 0
err = nil
return
}
func clientrun() (ret int, err error) {
conn, err := net.Dial("tcp", "127.0.0.1:3563")
if err != nil {
panic(err)
}
// Hello message (JSON-encoded)
// The structure of the message
data := []byte(`{
"Hello": {
"Name": "leaf"
}
}`)
// len + data
m := make([]byte, 2+len(data))
// BigEndian encoded
binary.BigEndian.PutUint16(m, uint16(len(data)))
copy(m[2:], data)
// Send message
conn.Write(m)
ret = 0
err = nil
return
}
func main() {
clientFlag := flag.Bool("client", false, "launch client")
flag.Parse()
if *clientFlag {
ret, err := clientrun()
if err != nil {
panic("leafclient: exit:" + string(ret) + " ,error: " + err.Error())
}
os.Exit(ret)
}
lconf.LogLevel = conf.Server.LogLevel
lconf.LogPath = conf.Server.LogPath
lconf.LogFlag = conf.LogFlag
lconf.ConsolePort = conf.Server.ConsolePort
lconf.ProfilePath = conf.Server.ProfilePath
leaf.Run(
game.Module,
gate.Module,
login.Module,
)
}