what happened to the b3d or bmx master server (code + php script?

Started by William, May 20, 2023, 06:11:58

Previous topic - Next topic

William

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.
im still interested in oldschool app/gamedev

Scaremonger

What server code were you looking for?

I have some old Blitzmax archives I can look though if I know what to search for.

William

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
im still interested in oldschool app/gamedev

markcwm

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. If you have made a good game you will definitely want your own masterserver.