SyntaxBomb - Indie Coders
Languages & Coding => BlitzMax / BlitzMax NG => Topic started by: William on May 20, 2023, 06:11:58
i cant find it after searching, i am unsure if its still around but i need it for a server list both ingame and on the web
does anyone know where it is or is it still around?
thanks.
What server code were you looking for?
I have some old Blitzmax archives I can look though if I know what to search for.
i were able to find something from google on blitzcoder.
QuoteGNet master server query for BlitzMax by boomboommax and example by markcwm. Reposted from BlitzBasic Code Archives
Type networkgnet
Const host:String = "localhost" 'enter gnet.blitzcoder.org to connect to BlitzCoder GNet MasterServer
Const hostget:String = ""
Const port:Int = 80
Global socket:tsocket
Global stream:tsocketstream
Function gnet_esc:String(t:String)
t = Replace(t,"&","")
t = Replace(t,"%","")
t = Replace(t,"'","")
t = Replace(t,Chr(34),"")
t = Replace(t," ","_")
Return t
End Function
Function gnet_open:tsocketstream(opt:String)
networkgnet.socket = CreateTCPSocket()
ConnectSocket(networkgnet.socket,HostIp(networkgnet.host),networkgnet.port)
networkgnet.stream = CreateSocketStream(networkgnet.socket,True)
WriteLine networkgnet.stream,"GET "+networkgnet.hostget+"?opt="+opt+" HTTP/1.0"
WriteLine networkgnet.stream,"HOST: "+networkgnet.host
WriteLine networkgnet.stream,""
FlushStream(networkgnet.stream)
While ReadLine(networkgnet.stream) <> ""
Wend
Return networkgnet.stream
End Function
Function gnet_exec(opt:String,game:String,server:String)
opt = opt+"&game="+networkgnet.gnet_esc(game)
If server <> "" opt = opt+"&server="+networkgnet.gnet_esc(server)
Local t:tsocketstream = networkgnet.gnet_open(opt)
If Not t Then Return False
Local ok = False
If ReadLine(t) = "OK" Then ok = True
CloseSocket(networkgnet.socket)
Return ok
End Function
Function gnet_ping:String()
Local t:tsocketstream = networkgnet.gnet_open("ping")
If Not t Then Return False
Local ip:String = ReadLine(t)
CloseSocket(networkgnet.socket)
Return ip
End Function
Function gnet_addserver(game:String,server:String="")
Return networkgnet.gnet_exec("add",game,server)
End Function
Function gnet_refreshserver(game:String,server:String="")
Return networkgnet.gnet_exec("ref",game,server)
End Function
Function gnet_removeserver(game:String)
Return networkgnet.gnet_exec("rem",game,"")
End Function
Function gnet_listservers:Int(game:String="")
For Local n:networkgnet_server=EachIn networkserverlist
networkserverlist.remove(n)
n = Null
Next
Local t:tsocketstream = networkgnet.gnet_open("list")
If Not t Then Return False
Local t_game:String
Local t_server:String
Local t_ip:String
Repeat
t_game = ReadLine(t)
If Left(t_game,2)<>"<b" And t_game<>""
t_server = ReadLine(t)
t_ip = ReadLine(t)
If game = "" Or gnet_esc(game) = t_game
Local p:networkgnet_server=New networkgnet_server
p.game = t_game
p.server = t_server
p.ip = t_ip
networkserverlist.addfirst(p)
EndIf
EndIf
Until Eof(t)
CloseSocket(networkgnet.socket)
Return 1
End Function
End Type
Global networkserverlist:TList = New TList
Type networkgnet_server
Field game:String
Field server:String
Field ip:String
End Type
example
' gnet conversion test
SuperStrict
Import "gnet_inc.bmx"
Global gnet:networkgnet = New networkgnet
Global gnet_server:networkgnet_server = Null
Local my_game$="my_gnet_game",my_server$="my_gnet_server"
Local p$=gnet.gnet_ping()
Print "~nPing:"+p
gnet.gnet_listservers()
print_servers()
Print "~nAdding server..."
gnet.gnet_addserver( my_game$ )
gnet.gnet_listservers()
print_servers()
Input "~nHit return to refresh server..."
gnet.gnet_refreshserver( my_game$,my_server$ )
gnet.gnet_listservers( my_game$ ) 'list just my game
print_servers()
Input "~nHit return to remove server and exit..."
gnet.gnet_removeserver( my_game$ )
gnet.gnet_listservers()
print_servers()
Function print_servers()
Print ""
For gnet_server:networkgnet_server = EachIn networkserverlist
If gnet_server<>Null
Print "Game:"+gnet_server.game+" Server:"+gnet_server.server+" IP:"+gnet_server.ip
EndIf
Next
EndFunction
I hope this is okay to post this here. there is also a master server php script on blitzcoder that i think is for this.
@Scaremonger
Hi,
yes this code, like all Blitzbasic code archives, is public domain. Even if it wasn't I don't think boomboommax or anyone else would ever mind.
So to use the GNet server on blitzcoder you don't need any php script as it's already done for you, just enter the right address. If you want your own custom server then follow Rontek's Gnet php masterserver guide (https://www.blitzcoder.org/forum/topic.php?id=426). If you have made a good game you will definitely want your own masterserver.