HWPlaySchemeSyntax.wiki
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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
308
06767accef5a Edited wiki page HWPlaySchemeSyntax through web user interface.
vittorio.giovara@gmail.com
parents: 307
diff changeset
     1
#summary The Hedgewars URL scheme handler
307
1fff0c4471bc Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff changeset
     2
736
e2b1f824f37b HWPlaySchemeSyntax: Add title
Wuzzy
parents: 732
diff changeset
     3
= URL scheme handler =
e2b1f824f37b HWPlaySchemeSyntax: Add title
Wuzzy
parents: 732
diff changeset
     4
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
     5
== Overview ==
1492
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
     6
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:
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
     7
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
     8
`hwplay://hedgewars.example.org`
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
     9
1492
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    10
If your system is set-up to handle `hwplay` URLs, they will open Hedgewars and make it join the given server and room.
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    11
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    12
Here's an example link, try it to see if `hwplay` URLs work for you:
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    13
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    14
[hwplay://netserver.hedgewars.org]
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    15
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    16
== Usage ==
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    17
You can share a `hwplay` URL with other players so they join your server more easily.
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    18
1492
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    19
Your browser and other software needs to learn first how to deal with `hwplay`.
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    20
The easiest way is to click on “Assign file types” in the Settings menu, Advanced tab, this should set it up automatically for you.
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    21
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    22
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).
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    23
732
4a40a2b9ec52 HWPlaySchemeSyntax: command-line
Wuzzy
parents: 731
diff changeset
    24
Hedgewars itself also can use a `hwplay` URL as a command-line argument. See [CommandLineOptions#Frontend] for more information.
4a40a2b9ec52 HWPlaySchemeSyntax: command-line
Wuzzy
parents: 731
diff changeset
    25
1492
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    26
`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.
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    27
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    28
== Creating `hwplay` URLs ==
1492
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    29
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.
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    30
1492
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    31
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).
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    32
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    33
Of course, you can also try to create the URLs from hand (see below).
307
1fff0c4471bc Created wiki page through web user interface.
vittorio.giovara@gmail.com
parents:
diff changeset
    34
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    35
== Syntax ==
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    36
The syntax of the “hwplay” URL scheme is:
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    37
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    38
`hwplay://<HOST>[:<PORT NUMBER>[?room=<ROOM NAME>]]`
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    39
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    40
Parts in square brackets are optional.
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    41
Parts enclosed in less-then and greater-than signs are parameters, where
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    42
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    43
 * `<HOST>` is the IP address or host name of the server
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    44
 * `<PORT NUMBER>` stands for the TCP port number of the server
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    45
 * `<ROOM NAME>` is the name of a room in the server
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    46
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    47
If the port number is omitted, Hedgewars assumes the default port 46631.
731
42ff4b1eef88 HWPlaySchemeSyntax: small typo edits
Wuzzy
parents: 730
diff changeset
    48
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    49
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.
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    50
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    51
== Examples ==
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    52
Here are some example `hwplay` URLs:
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    53
1492
13e8497cc611 HWPlaySchemeSyntax: Generalize
Wuzzy
parents: 736
diff changeset
    54
 * [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
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    55
 * `hwplay://192.168.43.6:54321`: Points to the lobby on a LAN server with IP 192.168.42.6, port number 54321
731
42ff4b1eef88 HWPlaySchemeSyntax: small typo edits
Wuzzy
parents: 730
diff changeset
    56
 * `hwplay://example.org?room=MyRoom`: Points to the room called “MyRoom” on the server “example.org”
730
917fd6b57b16 HWPlaySchemeSyntax: (hopefully) more complete explanation of the HWPLAY URLs
Wuzzy
parents: 308
diff changeset
    57
 * `hwplay://example.com:59000`: Points to the server “example.com”, port number 59000