Just thought I'd give a heads-up to the BP-Pro users out there :)
I've been working on an idea for the next update: a native Blitz Master server, incorporated with BlitzPlay Pro! (Tentative name: BPMS - BlitzPlay Master Server.. how original ;) )
I'm still in design phase, although some test code has been ironed out as well.. It will consist of a few functions for a Master server app to run: CreateMasterServer (GameName, Port), and StopMasterServer (GameName). The server will communicate using TCP. It will be able to run as one App to cover multiple Games (hosting an indefinate number of Sessions per game), and will require one port to be opened per Game being served.
The game app will then be able to call either:
QueryMasterServer (IP$, Port%, GameName$) or AdvertiseSession (Comment$, Password$, strHostIP = "") to either download the server list, or post a hosted Session to a master server. I'm trying to design QueryMasterServer to be a non-blocking call, which will automatically ping the Sessions after downloading the listing from the BPMS. It would return a percentage of how many sessions have been contacted.
I don't have a definate timeline for this, but I'm hoping it shouldn't take me too long :)
p.s. I've updated the links in the BlitzPlay page, so the downloads should be working again. I've also fixed a bug someone posted about BP-Lite timing out w/o proper reason, so v1.14 is available for d/l off the site.
p.p.s. The disadvantage over this approach vs say using GNet or another SQL based approach is it requires running a custom application on a server.. Depending how it goes though I may try host a BPMS server off of one of my home boxes, for BP users to access :) (Thats one of the reasons I'm coding it so that multiple games can be hosted by the one app)
..Also I've addressed the issue that many have w/ GNet, where a TCP connection must be made every few moments to avoid being dropped off the list. Although BPMS will run using TCP as well, the only time Sessions will need to make a connection will be to initially post themselves to the server, or within BP_EndSession to tell the server to discard the listing.
I've been working on an idea for the next update: a native Blitz Master server, incorporated with BlitzPlay Pro! (Tentative name: BPMS - BlitzPlay Master Server.. how original ;) )
I'm still in design phase, although some test code has been ironed out as well.. It will consist of a few functions for a Master server app to run: CreateMasterServer (GameName, Port), and StopMasterServer (GameName). The server will communicate using TCP. It will be able to run as one App to cover multiple Games (hosting an indefinate number of Sessions per game), and will require one port to be opened per Game being served.
The game app will then be able to call either:
QueryMasterServer (IP$, Port%, GameName$) or AdvertiseSession (Comment$, Password$, strHostIP = "") to either download the server list, or post a hosted Session to a master server. I'm trying to design QueryMasterServer to be a non-blocking call, which will automatically ping the Sessions after downloading the listing from the BPMS. It would return a percentage of how many sessions have been contacted.
I don't have a definate timeline for this, but I'm hoping it shouldn't take me too long :)
p.s. I've updated the links in the BlitzPlay page, so the downloads should be working again. I've also fixed a bug someone posted about BP-Lite timing out w/o proper reason, so v1.14 is available for d/l off the site.
p.p.s. The disadvantage over this approach vs say using GNet or another SQL based approach is it requires running a custom application on a server.. Depending how it goes though I may try host a BPMS server off of one of my home boxes, for BP users to access :) (Thats one of the reasons I'm coding it so that multiple games can be hosted by the one app)
..Also I've addressed the issue that many have w/ GNet, where a TCP connection must be made every few moments to avoid being dropped off the list. Although BPMS will run using TCP as well, the only time Sessions will need to make a connection will be to initially post themselves to the server, or within BP_EndSession to tell the server to discard the listing.