author Wuzzy
Sat, 21 Jul 2018 14:29:17 +0100
changeset 1492 13e8497cc611
parent 736 e2b1f824f37b
child 1493 151399fffe42
permissions -rw-r--r--
HWPlaySchemeSyntax: Generalize

#summary The Hedgewars URL scheme handler

= URL scheme handler =

== Overview ==
Hedgewars supports an URL scheme for Hedgewars servers and rooms. These are basically links which allow you to join a server (and optionally a room) by using a simple link. These are called “`hwplay` URLs” and can look like this:


If your system is set-up to handle `hwplay` URLs, they will open Hedgewars and make it join the given server and room.

Here's an example link, try it to see if `hwplay` URLs work for you:


== Usage ==
You can share a `hwplay` URL with other players so they join your server more easily.

Your browser and other software needs to learn first how to deal with `hwplay`.
The easiest way is to click on “Assign file types” in the Settings menu, Advanced tab, this should set it up automatically for you.

If an application (like a browser) is confused about `hwplay`, point it to the Hedgewars program (`hedgewars.exe` on Windows, `hedgewars` on GNU/Linux and Mac OS).

Hedgewars itself also can use a `hwplay` URL as a command-line argument. See [CommandLineOptions#Frontend] for more information.

`hwplay` URLs are of course optional, you can join any server from the main menu by selecting the network game, then “local network”, then by selecting a server from the list or entering its address directly after clicking on the “Connect to” button.

== Creating `hwplay` URLs ==
When you are about to start a server in Hedgewas (Main menu → Network game → Local network → Start server), Hedgewars will create a `hwplay` URL for you. You can copy it into the clipboard if you click on the “invite” button.

Note the generated URL might only work in your LAN and not world wide, so please check the IP address. You can obtain your Internet IP address on http://myip.is/ (for example).

Of course, you can also try to create the URLs from hand (see below).

== Syntax ==
The syntax of the “hwplay” URL scheme is:

`hwplay://<HOST>[:<PORT NUMBER>[?room=<ROOM NAME>]]`

Parts in square brackets are optional.
Parts enclosed in less-then and greater-than signs are parameters, where

 * `<HOST>` is the IP address or host name of the server
 * `<PORT NUMBER>` stands for the TCP port number of the server
 * `<ROOM NAME>` is the name of a room in the server

If the port number is omitted, Hedgewars assumes the default port 46631.

If the room name is given, the user will automatically join this room. If it is not given, the user will start in the lobby of the server.

== Examples ==
Here are some example `hwplay` URLs:

 * [hwplay://netserver.hedgewars.org]: Points to the lobby of the official server. This is the same as if you'd click on the “official server” button in the main menu
 * `hwplay://`: Points to the lobby on a LAN server with IP, port number 54321
 * `hwplay://example.org?room=MyRoom`: Points to the room called “MyRoom” on the server “example.org”
 * `hwplay://example.com:59000`: Points to the server “example.com”, port number 59000