Initial chat prototype

This commit is contained in:
Andrew Gutekanst
2020-01-19 12:52:57 -05:00
parent e6d7b7b9c2
commit fa608fa555
73 changed files with 1646 additions and 714 deletions

View File

@@ -2,6 +2,9 @@ package entranceserver
import (
"encoding/binary"
"fmt"
"io/ioutil"
"log"
"net"
"github.com/Andoryuuta/Erupe/config"
@@ -32,6 +35,7 @@ func encodeServerInfo(serverInfos []config.EntranceServerInfo) []byte {
bf.WriteUint32(si.AllowedClientFlags)
for channelIdx, ci := range si.Channels {
fmt.Println("Channel idx", channelIdx)
bf.WriteUint16(ci.Port)
bf.WriteUint16(16 + uint16(channelIdx))
bf.WriteUint16(ci.MaxPlayers)
@@ -71,6 +75,7 @@ func makeHeader(data []byte, respType string, entryCount uint16, key byte) []byt
}
func makeResp(servers []config.EntranceServerInfo) []byte {
fmt.Printf("%+v\n", servers)
rawServerData := encodeServerInfo(servers)
bf := byteframe.NewByteFrame()
@@ -81,6 +86,11 @@ func makeResp(servers []config.EntranceServerInfo) []byte {
// If so, how does it work without the entrance server connection being authenticated?
bf.WriteBytes(makeHeader([]byte{}, "USR", 0, 0x00))
err := ioutil.WriteFile("go_entrance_resp.bin", bf.Data(), 0644)
if err != nil {
log.Fatal(err)
}
return bf.Data()
}