Page 1 of 1

MasterServer - Looking for some testers

Posted: Fri Jun 24, 2011 11:05 pm
by Nituvious
Hi everyone. I have written a socketless master server communications program for PB and am seeking developers with related projects to test it out with.

I call it socketless because you do not need to open a socket / connection to the server(no InitNetwork() is required). I don't really know what this type of communication would be called. I wrote this because I found out that my web host did not allow php sockets( :evil: ) when I was attempting to make a completely different project. This software is designed for any online project such as games or chat rooms.
  • "Client" written PB 4.51 x86 (compiled by a german friend named Mitch, not sure of his user name here.).
  • "Server" written in PHP 5
It currently has no name and only borrows the initials of my php database & network.

Anyway, I am looking for developers who have projects that could make use of this and who would also be willing to report bugs that they find.
If you're interested in testing or trying it out, I have packaged an example "server browser" in the download. More information can be found into the readme.txt

Download: Here.

Re: MasterServer - Looking for some testers

Posted: Mon Jun 27, 2011 1:19 pm
by marc_256
Hi Nituvious,

I like to test this for my game,
but I know nothing about server side software ??

What have I to do to test your soft ?
Do I have to install something on the server side ?

Marc,

Re: MasterServer - Looking for some testers

Posted: Mon Jun 27, 2011 1:54 pm
by Nituvious
marc_256 wrote:Hi Nituvious,

I like to test this for my game,
but I know nothing about server side software ??

What have I to do to test your soft ?
Do I have to install something on the server side ?

Marc,
Hi marc, you don't need do anything for the master server, the only thing you use is the packaged DLL.
Currently, this phase of testing is just to see if there are any inconsistencies with the master server holding data, such as incorrect data when being saved(if you send a server with the name servera and the masterserver records it as serverzyx, then there is a problem). I've tested by querying/posting several hundred servers all at once with no errors so far. I just mainly want to test for stability and those inconsistencies.
When this phase has finished testing there will be a new version of the apnetml.dll which will require an additional parameter in both functions, it is a "Developer key" authentication key used to separate lists into their own groups so one developers game will not be listed with the games of another developer. This is to ensure easier parsing for both the developer of the game/software that uses the master server, and the server itself.
I will go into more detail when the point comes, though.
So just remember that the master server currently will list everyone's project on the same list. You can make your own identifier for now by sending your own identifying string using dExtra.s in PostMasterServer(), such as "marcsawesomegamev1", this will make servers that come from your game have that string in their extra.

Here is a rough explanation of how to use this:
The SERVER version of your game:
When you need to create a server you simply call the apnet_PostMasterServer() function with the parameters specified to show players the server options. You will also need to call apnet_PostMasterServer() with the parameters once every 60 seconds(ideally once every 30 seconds) so the server will stay on the list for players to join and connect to. You will call apnet_PostMasterServer() to update game statistics such as the current player count when a new player joins. :)

The CLIENT version of your game:
The client should never use apnet_PostMasterServer(). The only function the client should use is apnet_QueryMasterServer(), this will return the entire master server list in memory(see the example for details on placing the contents in an array for parsing) which will be used for viewing servers.
If you have any suggestions, please let me know! :)

Re: MasterServer - Looking for some testers

Posted: Mon Jun 27, 2011 4:04 pm
by jesperbrannmark
I am using PHP a lot serverside and PB on the clientside. Keep in mind that a DLL is only 32 bit and only Windows. I would be really interested in your work and would contribute as much as I can as long as we are thinking crossplatform ;-)

Re: MasterServer - Looking for some testers

Posted: Mon Jun 27, 2011 5:54 pm
by marc_256
Hi jesperbrannmark,

This was my first idea to use PHP on the server side and PB on the client side.
But I do know nothing about PHP so, ...
I had to study PHP first, maybe this was for me the solution ...
Yes, cross platform is interesting for me also.
To build 3D games on multi platform.

Re: MasterServer - Looking for some testers

Posted: Tue Jun 28, 2011 3:42 am
by Nituvious
jesperbrannmark wrote:I am using PHP a lot serverside and PB on the clientside. Keep in mind that a DLL is only 32 bit and only Windows. I would be really interested in your work and would contribute as much as I can as long as we are thinking crossplatform ;-)
Yeah, I would love to work in some crossplatform support! The only problem is that it currently relies heavily on windows api so there would have to be some conversions done. I would love to get it over to Mac users too!

Re: MasterServer - Looking for some testers

Posted: Thu Jun 30, 2011 10:02 pm
by jesperbrannmark
I have a weak day with Winapi.
To be honest, I've been doing Windows development since late 80's and started with Mac OS just a few months ago.
If I could, I would still do everything in K-SEKA.... well times change and Purebasic is the closest i come (and i love it).
Try to depend as little as possible on the winapi crap - it can depend SOOOO much from version to version of windows.

1. ReceiveHTTPfile (not winapi but probably pretty much using winapi) - fails in windows (not in mac)
2. URLDownloadtofile_ (winapi) - works pretty good but can vary a lot and if you thread it you are in hell
3. HTTPGetFromWeb() (winapi check the forum here) - works good but can also give strange behavor on some machines and you have no idea of knowing why.

The more you can stay away from winapi - the more crossplatform and the less working with this - not with this - issues you will get.