HWPlaySchemeSyntax.wiki
author Wuzzy
Wed, 11 Jul 2018 13:39:34 +0100
changeset 1443 d25ab95f2311
parent 736 e2b1f824f37b
child 1492 13e8497cc611
permissions -rw-r--r--
LuaAPI: deprecate lfCurrentHog

#summary The Hedgewars URL scheme handler

= URL scheme handler =

== Overview ==
`hwplay` is an unofficial URL scheme for specifying a server and optionally a room. Hedgewars is able to interpret these URLs to automatically join the specified server and room.

`hwplay` URLs are useful if you want to play on a server other than the official one.

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

Since `hwplay` is an unofficial URL scheme, your browser and other software needs to learn first how to interpret these URLs.
Applications might ask you which program to use with a `hwplay` URL. You have to point these 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 completely optional, you can of course join any server without a `hwplay` URL as long you know its hostname / IP address and port number (46631 by default).

== 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 and copy it into the clipboard if you click on the “invite” button.

Note the generated URL might only work in your LAN, 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://192.168.43.6:54321`: Points to the lobby on a LAN server with IP 192.168.42.6, 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