Battle-City icon indicating copy to clipboard operation
Battle-City copied to clipboard

Separate "Lobby" from client

Open Deceth opened this issue 14 years ago • 6 comments

The Lobby should be a separate application which acts as a chat room and list of servers.

  • When someone hosts a server, it will connect with the lobby so that the server is automatically displayed to all players. (This will make it possible for players to easily host temporary servers for clan practices or special events)
  • Lobby should display information about the server (Server name, map name, max players, welcome message)
  • Users should be able to password protect their server for private games
  • Lobby should give user option to practice offline (Right now, this would work by launching the server and connecting the user to 'localhost')

Deceth avatar Jun 04 '10 19:06 Deceth

Any open source lobby solutions available?

Obviously it would need to be customized to work with Battle City, but it would be great if the lobby was light-weight and did not consume any resources so people could leave it open all the time when not in-game.

Deceth avatar Jun 07 '10 13:06 Deceth

Adding comments from #35

One day in the future, another project would be to build a light-weight lobby server. This would be a chat-room / metaserver. Battle City servers would connect to the lobby and the lobby would then always have a list of active servers. This is a much bigger under-taking, so I'm only writing this here as a side-note.

rileyw avatar Jul 19 '13 13:07 rileyw

I'm actually working on something similar - albeit very slowly. It doesn't need to do anything fancy like load balancing since, well, theres a whole 0 CCUs for the game at any given point, but as a general nice-to-have feature to make the game more accessible for users, this is definitely a right step.

ndizazzo avatar Jul 19 '13 14:07 ndizazzo

Great to see another face on the repository :+1:

Do you imagine your work requiring any hosted web services that would provide the game server listing and chat room services?

rileyw avatar Jul 19 '13 15:07 rileyw

I don't think any additional resources would be needed for it. The plan is just to provide a HTTP API that provides a route BattleCity can visit to get some HTTP data back in a format the game will understand. It could even just write the list of server names and IPs into the ini format mentioned previously, but adding support for this will need a bit of code written to manually parse the response body from the HTTP request; which, in fact, I don't believe anything facilitating that (other than raw tcp socket code) exists in the game currently either.

ndizazzo avatar Jul 19 '13 19:07 ndizazzo

We may need a separate repository to develop the HTTP web service that will respond to incoming requests for game server names and IP addresses. I imagine we may want to consult with @Deceth since the HTTP web service would be hosted on http://battlecity.org. This is definitely not a requirement; rather, a recommendation.

The INI format is great for simple property to value assignments; however, it becomes a hassle to store objects/attributes . We may be better to adopt JSON or XML, but this all up to preference and experience.

rileyw avatar Jul 19 '13 19:07 rileyw