diff options
-rw-r--r-- | client_conn.go | 31 | ||||
-rw-r--r-- | config.go | 9 | ||||
-rw-r--r-- | content.go | 2 | ||||
-rw-r--r-- | server_conn.go | 2 |
4 files changed, 42 insertions, 2 deletions
diff --git a/client_conn.go b/client_conn.go index 000f029..f992ec0 100644 --- a/client_conn.go +++ b/client_conn.go @@ -42,6 +42,8 @@ type clientConn struct { p0Map param0Map p0SrvMap param0SrvMap media []mediaFile + + playerCAO, currentCAO mt.AOID } func (cc *clientConn) server() *serverConn { return cc.srv } @@ -345,8 +347,37 @@ func handleClt(cc *clientConn) { cc.SendCmd(&mt.ToCltAnnounceMedia{Files: files}) cc.lang = cmd.Lang + + var csmrf mt.CSMRestrictionFlags + if conf.CSMRF.NoCSMs { + csmrf |= mt.NoCSMs + } + if conf.CSMRF.NoChatMsgs { + csmrf |= mt.NoChatMsgs + } + if conf.CSMRF.NoItemDefs { + csmrf |= mt.NoItemDefs + } + if conf.CSMRF.NoNodeDefs { + csmrf |= mt.NoNodeDefs + } + if conf.CSMRF.LimitMapRange { + csmrf |= mt.LimitMapRange + } + if conf.CSMRF.NoPlayerList { + csmrf |= mt.NoPlayerList + } + + cc.SendCmd(&mt.ToCltCSMRestrictionFlags{ + Flags: csmrf, + MapRange: conf.MapRange, + }) case *mt.ToSrvReqMedia: cc.sendMedia(cmd.Filenames) + case *mt.ToSrvCltReady: + cc.log("-->", "ready") + cc.state++ + close(cc.initCh) } } } @@ -29,6 +29,15 @@ type Config struct { Name string Addr string } + CSMRF struct { + NoCSMs bool + NoChatMsgs bool + NoItemDefs bool + NoNodeDefs bool + LimitMapRange bool + NoPlayerList bool + } + MapRange uint32 } func loadConfig() error { @@ -81,7 +81,7 @@ func handleContent(cc *contentConn) { cc.state++ - if cmd.AuthMethods&mt.FirstSRP == mt.FirstSRP { + if cmd.AuthMethods&mt.FirstSRP != 0 { cc.auth.method = mt.FirstSRP } else { cc.auth.method = mt.SRP diff --git a/server_conn.go b/server_conn.go index d2d39b1..8248049 100644 --- a/server_conn.go +++ b/server_conn.go @@ -72,7 +72,7 @@ func handleSrv(sc *serverConn) { sc.state++ - if cmd.AuthMethods&mt.FirstSRP == mt.FirstSRP { + if cmd.AuthMethods&mt.FirstSRP != 0 { sc.auth.method = mt.FirstSRP } else { sc.auth.method = mt.SRP |