Skip to content

Commit

Permalink
fix: send 0x15 packet if connection needs to be closed
Browse files Browse the repository at this point in the history
  • Loading branch information
mikhaillav committed Nov 26, 2023
1 parent e804af2 commit 00ca913
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,11 @@ func New(proxyAddr, upstreamAddr string, paramConfig *conf.Config) (*Server, err
}

func (s *Server) handleConnection(conn net.Conn) {
log.Printf("Сlient connected: %v", conn.RemoteAddr().String())

server, err := raknet.Dial(s.UpstreamAddr)
server, err := raknet.DialTimeout(s.UpstreamAddr, 5 * time.Second)
if err != nil {
server, err = raknet.Dial(s.UpstreamAddr)
server, err = raknet.DialTimeout(s.UpstreamAddr, 5 * time.Second)
if err != nil {
conn.Write([]byte{0x15})
conn.Close()
log.Printf("Error connecting to the server: %v\n", err)
return
Expand All @@ -68,10 +67,12 @@ func (s *Server) handleConnection(conn net.Conn) {
}
s.Clients.Store(server, &Client{Addr: raknetConn})

log.Printf("Сlient connected: %v", conn.RemoteAddr().String())
addOnline(1)
defer func() {
addOnline(-1)
server.Close()
conn.Write([]byte{0x15})
conn.Close()
s.Clients.Delete(server)
log.Printf("Client disconnected: %v", conn.RemoteAddr().String())
Expand Down

0 comments on commit 00ca913

Please sign in to comment.