GURL

GURL

Discuss development of lobby clients, server, autohosts and auto-download software.

Moderators: Moderators, Lobby Developers

Post Reply
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10450
Joined: 24 Jan 2006, 21:12

GURL

Post by PicassoCT »

GURL

I have a friend, who has never, never ever had to do with open source. I want him to join in the game-room im in.
I want to avoid the usual - fry and error, going back and forth, before settling on dota or some other game.
So i want GURLs.

A GURL is a url that has in its request the game name, game version , the lobbyname & version, the mapname, the servername and password.

Code: Select all

www.springrts.com/game_name_game_version__the_lobbyname_&_version_the_mapname_the_servername_and_password.html

Now if i hit this url, i get a special installer, called..

Code: Select all

spring_V.98_game_name_game_version__the_lobbyname_&_version_the_mapname_the_servername_and_password.exe
Which installs, and sets up spring, and starts the lobby- pasting along to the lobby all the things above.
So rappid starts churning and suddenly im in game.

Its magic.

Oh, yes, it needs OS detection, to pick the right installer, and it would be neater if the info were not encoded in the name.
But you got to give it to this idea.
Its neat.
User avatar
Anarchid
Posts: 1384
Joined: 30 Nov 2008, 04:31

Re: GURL

Post by Anarchid »

Lobbies can be made to handle links with special schemes. It would seem a more reasonable approach with much less demand for infrastructure (such as on-demand installation packages for every version of Spring based on possibly misreported useragent!)
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: GURL

Post by abma »

start springlobby -> tools -> download archive:

copy and paste there:

Code: Select all

engine:98.0
game:ba:stable
map:The Rock Final
done!
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: GURL

Post by gajop »

Anarchid wrote:Lobbies can be made to handle links with special schemes. It would seem a more reasonable approach with much less demand for infrastructure (such as on-demand installation packages for every version of Spring based on possibly misreported useragent!)
Right.
Also, I don't think you should have one URL with both game/map/engine (as resources to download) and game instance information (lobby URL/port, password).

The ideal way is as it currently works (maybe could use a slight fix here and there, but the general idea seems sound):
1) Get lobby (of your choice)
2) Download resources by URN-ish links (e.g. ba:stable) - this is the only thing I would change, maybe by extend it to have resource packs (i.e. specifying a single link could get you both games and maps), with a special URL for that, or something else? I envisioned doing this once by having an URL (not necessarily html, but quite likely) page for each game (much like steam does) with images, text and other stuff, including URL-defined download(s) - which might rely on pr-downloader "links".
3) Join a game by spring:// URL
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: GURL

Post by knorke »

In all current lobbies if you try to join a battleroom then the lobby will download all files you need. (map, game, engine)

Why this need for tools and menus and special installers when the lobby already does everything?
So clicking such link should just open the lobby which then joins the room. If files are missing then the lobby downloads them - just like it does when you join via the normal battlelist.

Including mapname,gamename etc in the link is not nessecary - all it needs is the ID of battleroom.
Lobby can get the others infos from there.
A: Join my room!
B: Which one is it!?!
A: It is titled "the best battle"
B: omg I can not find it! Too many rooms!
A: wait I give you the link
A: [url]joinMySpringBattleroom://63456[/url]
B: Even a newb like me can click that.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: GURL

Post by gajop »

knorke wrote:In all current lobbies if you try to join a battleroom then the lobby will download all files you need. (map, game, engine)

Why this need for tools and menus and special installers when the lobby already does everything?
So clicking such link should just open the lobby which then joins the room. If files are missing then the lobby downloads them - just like it does when you join via the normal battlelist.

Including mapname,gamename etc in the link is not nessecary - all it needs is the ID of battleroom.
Lobby can get the others infos from there.
A: Join my room!
B: Which one is it!?!
A: It is titled "the best battle"
B: omg I can not find it! Too many rooms!
A: wait I give you the link
A: [url]joinMySpringBattleroom://63456[/url]
B: Even a newb like me can click that.
Not sure if you are replying to me or Casso, but lobby doesn't do things magically, it relies on rapid, plasma and similar stuff.
Normally a Spring game could just rely on Steam or other services for discovery, but since we already do distribution why not also do presentation/browsing? Things like this: http://store.steampowered.com/app/233250/ - a page in which you can browse game media, updates, additional important information, but also install the game.

We already have something like this: http://springrts.com/wiki/Kernel_Panic but we need it to be in a well-defined format and have lobby-usable download links. That is, we should have clickable links such as spring://game/id/$value, or spring-content://game:ba:stable, spring-content://map:Delta Siege Dry, so lobbies could automatically download it.
It's important to be able to make browsing and installing new/rarely played games more accessible, not just joining existing ones.
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: GURL

Post by knorke »

but lobby doesn't do things magically, it relies on rapid, plasma and similar stuff.
From user perspective it is magic ;) And it should be magic because magic means easy and "happens in background without having to worry about it."

Imo tell-the-lobby-what-to-download-links are not nessecary, might be enough to just have tell-the-lobby-what-to-join links.
For discovering new games there could be a link like joinSpringBattleroom://Any-Empty-KernelPanic-room . - "Any-Empty" instead of a battleroomID.

Such type of link one could put onto http://springrts.com/wiki/Kernel_Panic

Clicking that link would start the lobby, lobby tries to join (or create) an empty KernelPanic room and (if needed) downloads nessecary files, once everything is downloaded lobby joins the room.
Afterall just downloading some files is not so useful, you want to play them too.

That just leaves the problem of downloading extra files, like Kernel Panic plus all KP-maps plus extra KP-mission files [yes i know kp's missions are in mod itself]


zero-K has something ~related:
http://zero-k.info/Maps/Detail/18434
See PLAY ON THIS MAP button. Click it in browser and zk-lobby will change map to selected map, and if nessecary download.
Missions are similiar http://zero-k.info/Missions

But needs protocol standard that all lobbies use, otherwise of course useless..
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: GURL

Post by gajop »

knorke wrote: Imo tell-the-lobby-what-to-download-links are not nessecary, might be enough to just have tell-the-lobby-what-to-join links.
I don't agree with your premise, and this really feels like an unique approach (it's not how it's usually done for any other game I can remember).
If a user wants to check a game out, it doesn't necessarily mean he/she also want to join a lobby game immediately.
Some players want to first try their skill in single player skirmish, play the campaign, or just fiddle with the settings. In fact, some might want to just download the game now and play it later!
Pressing "Play" once download is completed is perfectly natural nowdays, I see no reason to introduce forceful battleroom joining to "ease" user experience. To be more clear, if you want to create a client that behaves like that, you are perfectly within your rights to do so, but I'm sure I don't want that so I don't want it "enforced" on me.

A Spring URL for joining battlerooms seems interesting, I'd want that (it's also something users could share when they organize private lobby games/send game invites). We might want to rework the spring:// URL format to have support for: 1) joining running/new games, 2) joining battlerooms, 3) content (rapid,plasma) links, 4) future support for extension.
Maybe just make all spring:// links start with "context", e.g. spring://connect/, spring://join/, spring://download/map, spring://download/game, etc.?
User avatar
Anarchid
Posts: 1384
Joined: 30 Nov 2008, 04:31

Re: GURL

Post by Anarchid »

The primary things i dislike about ZK implementation of "Play Now' buttons for maps and missions are:

1) They require an account and connection to Uberserver.
2) Even then, they require the lobby to specifically support this.

Let me explain how this works, so you see why i think so. The core of the problem is that .net via mono does not seem to be able to efficiently sign up for URI scheme handling in most, if not all Linux distributions. Therefore, the "Play Now" button triggers the following cascade of events:

1) An XHR request to zkinfo is sent.
2) The server checks if it is sent from a logged-in user.
3) The server asks Nightwatch to check if user is also logged into lobby.
4) If Nightwatch confirms this, the site asks Nightwatch to send the player a !JSON{} encoded message detailing what to do next
5) Upon receiving this message, the client lobby hides it from the user, and acts on given commands.

So... yeah. I'm not sure how easy it is to register custom schemes reliably and across platforms.
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10450
Joined: 24 Jan 2006, 21:12

Re: GURL

Post by PicassoCT »

didnt actually expect that there would be difficulties.. i mean there always are.. but i thought this was in some ways allready implemented..

I understand gajop, this against everything opensource means to you.. no configuration, no controll by the end-user at the start- instead fastest game join in the west.

I google for play buttons.. which is just a fancy picture glued to such a gurl..

https://www.google.de/search?q=Play+But ... utton+Game

I think most of the lobby devs will hat it with a passion though.. as there masterpieces are not coniesseured..
Post Reply

Return to “Lobby Clients & Server”