Game Lobby Support

Discuss the future of Warzone 2100 with us.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Game Lobby Support

Post by AF-TNowell »

I'm a regular at the spring community, and I have my own lobby project in development. Ive added support for spring and glest to it since I started and Im currently in a rather large development cycle to finish beta 5, whcih should be a large step up from what i currently have.

I started a thread asking for suggestions for a name change as 'AFLobby' was temporary and sounds slightly arrogant/non-serious, when somebody suggested I add support for Globulation and Warzone 2100. I cant see any details on lobby support on the website, btu from what I have gathered in the past half hour form the forums is that there is a basic python server listing games? Does Warzone 2100 support network games being started from external programs at the moment? Is it something you guys would be interested in?

Aside from my own lobby client, there are two other clients in the spring community which may decide they want to support the engine too. They all use the same server protocol and share the same lobby environment, and we currently have 2 implementations of the lobby server protocol, TASServer (java) and UberServer (python). My lobby should run under all supported platforms, and one of the other lobbies could easily support all three as well given a supply of testers.

May I warn anyone interested not to make the same mistake the glest team made. They downloaded and installed spring and tested out the default lobby and initially decided they weren't interested, the program in question being a delphi lobby named TASClient. This is not my lobby and is a totally different code base and GUI design, with a different feature set.

I'd appreciate any feedback, and any explanation of what is intended, or the current state of development.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Game Lobby Support

Post by Buginator »

Right now, it uses a simple python script to list the games.

At this point in time, no, the game can't start from a external program, BUT, that was one of the ideas being tossed around, since the current way it does it isn't that good.  One of the main problems is the GUI, and it doesn't support many features, and is pretty difficult to work with.

I don't see any real problem adding support for launching the game that way.

I am sure one of the official devs will chime in, but I for one would be very interested in this type of thing.


p.s. Funny you should mention the delphi client, that is the one I looked at and said ... naw...  :)
and it ends here.
Chojun
Regular
Regular
Posts: 518
Joined: 25 Nov 2006, 17:49

Re: Game Lobby Support

Post by Chojun »

AF-TNowell wrote:Does Warzone 2100 support network games being started from external programs at the moment?
I can't speak for the WRP version but 1.10 retail could be started externally using a number of different methods.
The best thing to do when your philosophies don't stand up to debate is to lock the thread and claim victory.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Game Lobby Support

Post by DevUrandom »

WZ currently supports starting a specific map via a commandline parameter. I don't know if we can specify a host to connect to from the commandline as well. Though I assume if we can start a map, it should not be difficult to connect to a host as well.

The current lobby protocol is "defined" here: http://svn.gna.org/viewcvs/*checkout*/w ... rserver.py
Note especially Game::setData().

EDIT by Kreuvf: Added url-tags to the link.
Last edited by DevUrandom on 09 May 2008, 11:08, edited 1 time in total.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

Well as it is I could provide you with a ready made lobby client and server within a matter of hours given the necessary command line interface to start the engine. The server has been well tested and used extensively by the spring community for almost 3 years, so testing and maturity is not an issue. Whether you would want to use your own server or share springs server and have both warzone and spring games alongside each other is something you would decide yourselves.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Game Lobby Support

Post by Buginator »

AF-TNowell wrote: Well as it is I could provide you with a ready made lobby client and server within a matter of hours given the necessary command line interface to start the engine. The server has been well tested and used extensively by the spring community for almost 3 years, so testing and maturity is not an issue. Whether you would want to use your own server or share springs server and have both warzone and spring games alongside each other is something you would decide yourselves.
As soon as I am done doing what I am doing, I'll take a stab at it.
and it ends here.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Game Lobby Support

Post by Buginator »

Buginator wrote: As soon as I am done doing what I am doing, I'll take a stab at it.
Ok, it is done.
You can launch the game now via:
warzone2100 --ip hostname and it will connect to it.

Just need to clean up the patch a bit.
and it ends here.
User avatar
DevUrandom
Regular
Regular
Posts: 1690
Joined: 31 Jul 2006, 23:14

Re: Game Lobby Support

Post by DevUrandom »

Buginator wrote: Ok, it is done.
You can launch the game now via:
warzone2100 --ip hostname and it will connect to it.

Just need to clean up the patch a bit.
:)
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

Thank you very much, that is half the work done, but there also need to be a means of launching a network game as a host, this only covers the client side =(

And thank you for the speedy response!
EvilGuru
Regular
Regular
Posts: 615
Joined: 23 Jun 2007, 22:41

Re: Game Lobby Support

Post by EvilGuru »

AF-TNowell wrote: Thank you very much, that is half the work done, but there also need to be a means of launching a network game as a host, this only covers the client side =(

And thank you for the speedy response!
So a switch which would take a user directly to the host screen?

Regards, Freddie.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

Yeah, at the moment the way I've implemented Glest is that it enters an in between battle room with a host and clients, and then the host starts once there's enough players and glest is started either in host or client mode, then players can continue and pick the map and their team numbers etc in glest.

Something of the same kind would work here. Spring and TA3D require a full battle GUI with map picker for their battle windows, and when a spring battle starts the player goes straight into the game rather than a battle screen.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Game Lobby Support

Post by Buginator »

AF-TNowell wrote: Yeah, at the moment the way I've implemented Glest is that it enters an in between battle room with a host and clients, and then the host starts once there's enough players and glest is started either in host or client mode, then players can continue and pick the map and their team numbers etc in glest.

Something of the same kind would work here. Spring and TA3D require a full battle GUI with map picker for their battle windows, and when a spring battle starts the player goes straight into the game rather than a battle screen.
Hmm, so you have a more or less, a mini IRC type channel where everyone joins, and then they pick who wants to host a game, and pick the map then, and all the other flags required for the game to start?

As for adding the command line options to start hosting, that can be done, but is much more complex to handle all the options.


I guess I need to look at how the other games do it.  Do you have a url for your client yet?
and it ends here.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

Spring has no built in hosting screen and needs one built into the lobby and takes a script.txt containing map and team options

I believe you should suffice with a --host parameter, you can add all the other options later if you wish but itd be much less work for both of us if you just added --host and let warzone2100 deal with which player belongs in which team and what allies factions and maps are used.
User avatar
AF-TNowell
Greenhorn
Posts: 15
Joined: 09 May 2008, 01:40

Re: Game Lobby Support

Post by AF-TNowell »

Sorry for the double post, but regarding links to my client, at the moment I don't have anything I can post publicly as I'm in a development phase and my previous release isn't very pretty compared to my private build. If you could  add me on msn/yahoo [email protected] or email me at [email protected] I can sort something out.
EvilGuru
Regular
Regular
Posts: 615
Joined: 23 Jun 2007, 22:41

Re: Game Lobby Support

Post by EvilGuru »

Out-of-game configuration of a Warzone game would be difficult.

It would require knowledge of where maps are stored, how a preview can be generated etc. It would also make it hard for mods to customise the game start dialogue (providing additional controls etc).

Does anyone know how GameSpy with 1.10 did it?

Regards, Freddie.