diff --git a/assets/img/en-screenshots/server-window-options.inc b/assets/img/en-screenshots/server-window-options.inc deleted file mode 100644 index 2536b94a6..000000000 --- a/assets/img/en-screenshots/server-window-options.inc +++ /dev/null @@ -1 +0,0 @@ -https://user-images.githubusercontent.com/4561747/178142687-da256fa5-d7b8-47ab-9265-63c3c9760841.png diff --git a/assets/img/en-screenshots/server-window-setup.inc b/assets/img/en-screenshots/server-window-setup.inc deleted file mode 100644 index 714fbf90e..000000000 --- a/assets/img/en-screenshots/server-window-setup.inc +++ /dev/null @@ -1 +0,0 @@ -https://user-images.githubusercontent.com/4561747/178142684-1b85e654-78be-4909-a76c-945d7a0f7ccc.png diff --git a/wiki/en/Command-Line-Options.md b/wiki/en/Command-Line-Options.md index 4a652aa30..89b3d3dd3 100644 --- a/wiki/en/Command-Line-Options.md +++ b/wiki/en/Command-Line-Options.md @@ -17,5 +17,5 @@ permalink: "/wiki/Command-Line-Options" ## Server only commands -{% include_relative Include-Server-Commands.md %} +See [Running a Server](Running-a-Server#server-mode-options) diff --git a/wiki/en/Include-Server-Commands.md b/wiki/en/Include-Server-Commands.md deleted file mode 100644 index f76181a18..000000000 --- a/wiki/en/Include-Server-Commands.md +++ /dev/null @@ -1,19 +0,0 @@ -- `-d` or `--discononquit` Disconnect all Clients on quit. Normally, when a Server is stopped or restarted, any Clients that have not used their "Disconnect" buttons will re-establish connection when the Server comes back up again. Using this option forces Clients to manually re-establish their connections to the Server. -- `-e` or `--directoryserver` Register the Server on a Directory (e.g. to set its genre (see also `-o`)). See [Server Types](Running-a-Server#server-types) for further information. -- `--directoryfile` Remember registered Servers even if the Directory is restarted. Directory Servers only. See [this guide](Directories) for further information. -- `-f` or `--listfilter` Whitelist Servers registering on the Server list, format `ip address 1[;ip address 2]` Directories only. -- `-F` or `--fastupdate` Reduces latency if Clients connect with "Enable Small Network Buffers" option. Requires faster CPU to avoid dropouts, and more bandwidth to enabled Clients. -- `-l` or `--log` Enable logging, set path and file name -- `-L` or `--licence` Show an agreement window before users can connect -- `-m` or `--htmlstatus` Enable HTML status file, set path and file name -- `-o` or `--serverinfo` Location details in the format: `[name];[city];[country as two-letter ISO country code or Qt5 Locale]` (see [two-letter ISO country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) or [Qt5 Locale values](https://doc.qt.io/qt-5/qlocale.html#Country-enum)) Registered Servers only -- `-P` or `--delaypan` Start with delay panning enabled See [notes](Running-a-Server#delay-panning) -- `-R` or `--recording` Set server recording directory; Server will record when a session is active by default. See [Options](Running-a-Server#options). -- `--norecord` Set server not to record by default (when recording is configured e.g via `-R`) -- `-s` or `--server` Start in Server mode -- `--serverbindip` Specify the IP address to bind to -- `-T` or `--multithreading` Use multithreading to make better use of multi-core CPUs to support more Clients -- `-u` or `--numchannels` Maximum number of channels (Clients) -- `-w` or `--welcomemessage` Welcome message on connect. Can be given as a string or filename, and can contain HTML. -- `-z` or `--startminimized` Start minimized -- `--serverpublicip` The public IP address of the Server if connecting to a Directory behind the same NAT. See [Notes on Directories](Directories#points-to-note-about-directories) diff --git a/wiki/en/Running-a-Server.md b/wiki/en/Running-a-Server.md index b022821de..33dad266e 100644 --- a/wiki/en/Running-a-Server.md +++ b/wiki/en/Running-a-Server.md @@ -17,14 +17,15 @@ permalink: "/wiki/Running-a-Server" - ## Do I need to run a Server? -**No**. You can use the Servers listed by the built in Directories and use Jamulus without running a Server or choose a third party hosting service. If you just want an undisturbed session, use the [soloing technique described on the Tips and Tricks page](Tips-Tricks-More#have-an-undisturbed-session-on-any-server). If you decide you cannot use any of the Servers listed by the built in Directories, you may be able to use a Server (either Registered in a Custom Directory, or Unregistered - see [Server Types](#server-types)) hosted by a third party. Doing so will save you the trouble of setting one up yourself. +**No**. You can use the Servers listed by the built in Directories and use Jamulus without running a Server yourself. Or you can use a third party hosting service such as [melomax](https://melomax.live/jamulus-hosting/) or [KOORD](https://koord.live/). + +If you just want an undisturbed session, use the soloing technique described on the [Tips and Tricks page](Tips-Tricks-More#have-an-undisturbed-session-on-any-server). -## Basic requirements +--- -While setting up a Server isn't difficult, it's a good idea to read the following background information to avoid some problems: +## Requirements ### Speed and latency @@ -36,84 +37,101 @@ However, various problems can also arise when setting up Servers - especially wh Consider using a cloud host, not your home internet connection, to get better ping times if you're having problems. - ### General notes * Any Server should have at least 1.6GHz CPU frequency and 1GB RAM * Running a Server may require you to adjust any firewalls running on or outside of your machine or cloud host. -* Running an Unregistered Server at home will require you to [port forward](#port-forwarding) on your router. When running a Registered Server, port forwarding should not be necessary in most cases, but it's advisable to do so because some networks may not work properly with Jamulus in its default mode. +* Running an [Unregistered Server](Unregistered-Servers) at home will require you to port forward on your router. This should not be necessary when running a Registered Server, most cases, but it's advisable to do so because some networks may not work properly with Jamulus in its default mode. * Jamulus only has limited IPv6 support which needs to be enabled with a command line argument on the Client and Server. (There are plans to expand IPv6 support.) -## Server Types +--- -You can run your Server in different ways (either at home or on a 3rd party host): +## Installation -### 1. Registered +Most people run Jamulus on a 3rd party/cloud host as a "pure" Server (also known as "headless") on **hardware without audio** running Linux. You can also run a Server in a [**desktop environment**](#servers-on-the-desktop). -Your Server will be listed in a Directory. By default, Jamulus has a list of built-in Directories that Clients can connect to. If you register with one of these, anyone can then discover and connect to your Server. You can also have your Server listed on a Custom Directory, if that better meets your needs. +To run a headless server on Linux, the following steps assume you are familiar with the command line and Debian/Ubuntu or similar distribution using systemd. -
- Diagram of connections between Clients within a Jamulus Registered Server -
How Registered Servers work
-
+If you want to run a Server on a **Raspberry Pi** (or a different armhf/arm64 debian-based device), you will need to download the [latest armhf .deb file]({{ site.download_root_link }}{{ site.download_file_names.deb-headless-armhf }}) or [latest arm64 .deb file]({{ site.download_root_link }}{{ site.download_file_names.deb-headless-arm64 }}) depending on your CPU - not the default `amd64` ones for use on Intel/AMD machines. + +1. Download the [latest headless (amd64) .deb file]({{ site.download_root_link }}{{ site.download_file_names.deb-headless }}) (or for Raspberry Pi etc. as above) +1. Make sure you have a current list of standard packages: `sudo apt update` +1. Install the Jamulus package for your architecture, for example: + + `sudo apt install ./{{ site.download_file_names.deb-headless }}` + +1. Enable the headless Server process: + + `sudo systemctl enable jamulus-headless` + +1. Add your desired [command line options](Running-a-Server#configuration) to the `ExecStart` line in the systemd service file (by default you will be running an Unregistered Server): + + `sudo systemctl edit --full jamulus-headless` -### 2. Unregistered +1. Reload the systemd files and restart the headless Server: + + `sudo systemctl daemon-reload && systemctl restart jamulus-headless` + +_To upgrade your Server, just repeat the steps above._ + +--- + +## Server Types + +Servers can be run in one of three modes (either at home or on a 3rd party host), depending on your needs. + +### 1. Unregistered This is the default when starting a Server for the first time. Unregistered Servers are not listed by Directories, so only musicians who know your Server's address to will be able to connect to it. This is useful because Jamulus does not let you control who can connect to a Server. +**For information about running an Unregistered Server [see this guide](Unregistered-Servers).** +
Diagram of connections between Clients within a Jamulus Unregistered Server -
How Unregistered Servers work
-If you are running an unregistered server behind a home internet connection, you might need to enable [port forwarding](#port-forwarding) as described below. - -### 3. Directory - -If you want to run a number of Servers, possibly also behind a firewall or on a LAN, you may want to run your Server as a Directory. Examples include online events, music associations, sectional rehearsals or music lessons for schools. +### 2. Registered -To run a Directory [read this guide](Directories) +In this mode your Server will be listed in a Directory. Jamulus has a list of built-in Directories that Clients can connect to, and if you register your Server with one of these, anyone can then discover and connect to it. You can also have your Server listed on a Custom Directory (see below), if that better meets your requirements. +Note that Directories can only register up to 150 Servers. If you see a message that says you cannot register your Server becuase the Directory is full, you can try registering on another. For a list of all public Directories and the Servers on them, see [explorer.jamulus.io](https://explorer.jamulus.io). -## Installation and Configuration +
+ Diagram of connections between Clients within a Jamulus Registered Server +
-Most people run Jamulus as a "pure" Server on **hardware without audio** (e.g. on a 3rd party/cloud host) running Linux. The following steps assume you are familiar with the command line and Debian/Ubuntu or similar distribution using systemd. To run a server on Windows or on the desktop with a graphical user interface, [see this section](#servers-on-the-desktop). +### 3. Directory -If you want to run a Server on a Raspberry Pi (or a different armhf/arm64 debian-based device), you will need to download the `.deb` files for 32 bit `armhf` or 64 bit `arm64`, not the default `amd64` ones you'd use on an Intel/AMD based machine. +If you want to run a number of Servers, possibly also behind a firewall or on a LAN, you may want to run your Server as a Directory. Examples include online events, music associations, sectional rehearsals or music lessons for schools. +For information, [see the Directories guide](Directories). -### Installation +# Configuration -1. Download the [latest headless (amd64) .deb file]({{ site.download_root_link }}{{ site.download_file_names.deb-headless }}) or, if you use a Raspberry Pi etc. download the [latest armhf .deb file]({{ site.download_root_link }}{{ site.download_file_names.deb-headless-armhf }}) or the [latest arm64 .deb file]({{ site.download_root_link }}{{ site.download_file_names.deb-headless-arm64 }}) -1. Update apt to make sure you have a current list of standard packages: `sudo apt update` -1. Install the Jamulus package: `sudo apt install ./{{ site.download_file_names.deb-headless }}` or for RasPi etc. armhf: `sudo apt install ./{{ site.download_file_names.deb-headless-armhf }}`; arm64: `sudo apt install ./{{ site.download_file_names.deb-headless-arm64 }}` -1. Enable the headless Server process via systemd: `sudo systemctl enable jamulus-headless` -1. Add your desired [command line options](Running-a-Server#command-line-options) to the `ExecStart` line in the systemd service file by running `sudo systemctl edit --full jamulus-headless` (By default you will be running an Unregistered Server). -1. Reload the systemd files `sudo systemctl daemon-reload` and restart the headless Server: `sudo systemctl restart jamulus-headless` -1. Check all is well with `systemctl status jamulus-headless` (hit `q` to get back to the command prompt). +Depending on your operating system and how you are running the server, you can set Server options and make them persistent between reloads as follows: -You can control Jamulus with the `systemctl` command. For example, to stop the Server cleanly: +**Linux headless mode** (Debian/Ubuntu using systemd) +Add your desired command line options to the `ExecStart` line in the systemd service file by running `sudo systemctl edit --full jamulus-headless` -`sudo systemctl stop jamulus-headless` +**GUI mode** (all platforms) +Any settings made using the graphical interface will be stored in the `Jamulusserver.ini` file (do not attempt to edit this file by hand). However, some options are not available via the GUI and need to be set via the command line. For more information, see [Servers on the desktop](#servers-on-the-desktop) -_To upgrade your Server, just repeat the steps above._ +--- -### Configuration +## Server mode options -#### Running in Registered mode +#### `-s` or `--server` +Start Jamulus in Server mode -The following minimum setup is required to [run a Registered Server](Running-a-Server#server-types): +#### `-e or --directoryserver` -~~~ -jamulus --nogui --server \ - --directoryserver genreServer:port \ - --serverinfo "yourServerName;yourCity;[country ID]" -~~~ +Required for a [Registered Server](Running-a-Server#2-registered). Also required to run Jamulus as a [Directory](Directories). -**Note**: Semicolon and newline characters are not allowed in `yourServerName` and `yourCity` within the `--serverinfo` argument +This option takes the format: -To register with one of the Directories built into the Jamulus Client, replace `genreServer:port` in the example above with one of the following options: +`--directoryserver genreServer:port` +To register with one of the Directories built into the Jamulus Client, replace `genreServer:port` with one of the following options: | Genre | Server Address | |-----------|------------------| @@ -125,30 +143,94 @@ To register with one of the Directories built into the Jamulus Client, replace ` |**Genre Classical/Folk** |`classical.jamulus.io:22524`| |**Genre Choral/Barbershop** |`choral.jamulus.io:22724`| -You can also specify a [Directory](#3-directory) in the same way from the command line, providing the Server Address in the same format. -#### Running as a Directory +#### `-o or --serverinfo` +When registering a server on a Directory, this lets you display a server name and location details so that users can then search or sort by these values when connecting to Directories with their client. -If you wish to run a [Directory](Running-a-Server#3-directory) please see [this guide](Directories). +This option takes the format: -### Maintenance +`[name];[city];[country as two-letter ISO country code]` -#### Viewing The Logs +See [two-letter ISO country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) -Jamulus will log to the system log file if you left the `StandardOutput=journal` setting in the unit file. +Note that semicolon and newline characters are not allowed in `name` and `city` values. -To view the log, use `journalctl` (to exit press Ctrl-C). For example, to read the system log file, filtered for the Jamulus service: +#### `-L or --licence` +Show an agreement window before users can connect -`journalctl -f -u jamulus-headless` +#### `-w or --welcomemessage` +Welcome message on connect. Can be given as a string or filename, and can contain HTML. -#### Controlling Recording +#### `--serverpublicip` +The public IP address of the Server if connecting to a Directory behind the same NAT. See [the Directories guide](Directories) for further information. -When using the recording function with the `-R` command line option, if the Server receives a SIGUSR1 signal during a recording, it will start a new recording in a new Directory. SIGUSR2 will recording enabled on/off. +#### `--directoryfile` +_Directories only:_ Remember registered Servers even if the Directory is restarted. See [the Directories guide](Directories) for further information. -To send these signals using systemd, create the following two `.service` files in `/etc/systemd/system`, calling them something appropriate (e.g. `jamulusTogglerec.service`). +#### `-f or --listfilter` +_Directories only:_ Whitelist Servers registering on the Server. See [the Directories guide](Directories) for further information. + +--- + +## General Server options +These options can be used regardless of which mode your server is running in (although some may not be relevant for Directories). + +#### `-d or --discononquit` +Normally, when a Server is stopped or restarted, any Clients that have not used their “Disconnect” buttons will re-establish connection when the Server comes back up again. Using this option forces Clients to manually re-establish their connections to the Server. + +#### `-F or --fastupdate` +Reduces latency if Clients connect with “Enable Small Network Buffers” option. Requires faster CPU to avoid dropouts, and more bandwidth to enabled Clients. + +#### `-l or --log` +Enable logging, set path and file name + +#### `-m or --htmlstatus` +Enable HTML status file, set path and file name + +#### `-P or --delaypan` +Start with delay panning enabled.This option uses small differences in sound arrival time between the two ears. It produces a stereo effect similar to natural human hearing when compared to normal “volume” panning. + +#### `--serverbindip` +Specify the IP address the Jamulus process will bind to + +#### `-T or --multithreading` +Use multithreading to make better use of multi-core CPUs to support more Clients + +#### `-u or --numchannels` +Maximum number of channels (Clients) + +#### `-z or --startminimized` +Start the graphicial user interface minimized + +## Other options + +{% include_relative Include-Shared-Commands.md %} + +--- + +## Recording + +#### `-R or --recording` +Set server recording directory; Server will record when a session is active by default. **Note:** You will need to save recordings to a path _outside_ of the jamulus home Directory, or remove `ProtectHome=true` from your systemd unit file (be aware that doing so is however a potential security risk). +Recordings are per track in [Audacity](https://www.audacityteam.org/) `.lof` format and [REAPER](https://en.wikipedia.org/wiki/REAPER) `.rpp`. Open the respective files to listen to them in those applications. + +Note that when your Server is recording, Clients will display a message that recording is on. + +#### `--norecord` +Set server not to record by default when recording is configured. + + +### Controlling Recording + +Recording starts once the first person connects to the Server, and stops when the last person leaves. + +If the Server receives a SIGUSR1 signal during a recording, it will start a new recording in a new Directory. SIGUSR2 will toggle recording on/off. + +To send these signals using systemd, create the following two `.service` files in `/etc/systemd/system`, calling them something appropriate (e.g. `jamulusTogglerec.service`). + For turning recording on or off (depending on the current state): ~~~ @@ -179,131 +261,50 @@ Run `sudo systemctl daemon-reload` to register them for first use. Now you can run these with the `systemctl` command, for example: -`sudo systemctl start jamulusTogglerec` (assuming you named your unit file `jamulusTogglerec.service`) +`sudo systemctl start jamulusTogglerec` You can see the result of these commands if you run `systemctl status jamulus`, or by viewing the logs. +--- ## Servers on the desktop -Jamulus can be run in Server mode from the desktop. This gives you a graphical user interface to control most of the settings. - -* **Windows users** - Use the "Jamulus Server" icon in the Windows Start menu. -* **macOS users** - Double-click the "Jamulus Server" icon in Applications (assuming you put the files from the install there as per [these instructions](Installation-for-Macintosh)). -* **Linux users** - Launch the "Jamulus Server" shortcut. Or you can open a terminal window (`CTRL+ALT+t` on Debian and related distros), type `jamulus -s` and hit return. - - -## Server Setup - -
Image of the Jamulus Server setup window
+Jamulus can be run in Server mode from the desktop. This gives you a graphical user interface to control most of the settings. To do this, first [install Jamulus](Getting-Started) for your platform, the do one of the following: -### The Directory list +* **Windows users** - Use the "Jamulus Server" icon in the Windows Start menu. If you want the Server to start automatically on system start, enable the corresponding check box. -**None**: By default, you will not be connected to a Directory and will be running in unregistered mode. [Read these instructions](#running-an-unregistered-server) to have other people connect to your Server in this mode. +* **macOS users** - Double-click the "Jamulus Server" icon in Applications. -**Genre**: To allow other people to see your Server on one of the Directories built into the Client, select your desired genre Directory. You should see a confirmation message saying whether your Server has registered successfully. If not, and you leave your Server running, it will keep trying to register until a free slot becomes available. - -**Custom**: This allows you to specify a custom directory on which to be listed. See the "Options" tab for the Custom Directory address you want to use. - -To run your Server _as_ a Directory, you need to set the Custom Directory address as `localhost` or `127.0.0.1` and set the "Genre" to "Custom". [Read this guide](Directories) for further details. - -### My Server Info - -When running as a Registered Server this displays the Server's name, city and country so that other users can easily identify it in the Directory listing. - -### Chat Welcome Message - -The text entered here appears to all users when they join the Server (the chat window will open automatically for them). HTML is also supported. - -## Options - -
Image of Jamulus Server window options
- -### Recording Directory - -This sets the path to where the Server's recordings will be stored. With this path set, the "Enable Jam Recorder" function in the Server Setup tab will make recording start once the first person connects to the Server, and stops when the last person leaves. Use the "New Recording" button to create a new sub-directory in which the recordings will be stored from then on. Note that Recordings are per track in [Audacity](https://www.audacityteam.org/) `.lof` format and [REAPER](https://en.wikipedia.org/wiki/REAPER) `.rpp`. Open the respective files to listen to them in those applications. - -**Note**: When your Server is recording, Clients will display a message that recording is on. - -### Custom Directory Address - -Leave this field empty unless you need to list your Server on a [Custom Directory](#3-directory) or run a Directory. +* **Linux users** - Launch the "Jamulus Server" shortcut. Or you can open a terminal window (`CTRL+ALT+t` on Debian and related distros), type `jamulus -s` and hit return. -### Server List Filename +While most common functions in Jamulus can be set using the GUI, others can only be set using options given in a terminal window when the server is launched. Exactly how you do this will depend on your operating system. -Leave this field empty unless you need to run your Server as a [Directory](#3-directory). When in use, this holds the list of registered Servers whilst restarting the Directory. This prevents the server list appearing "empty" until the Servers re-register. +For example on Windows, to use a specific settings file, right-click on the Jamulus shortcut and choose **Properties** > **Target**. Add the necessary arguments to Jamulus.exe: -### Delay panning + `"C:\Program Files\Jamulus\Jamulus.exe" --serverbindip 192.168.0.100` -This option uses small differences in sound arrival time between the two ears. It produces a stereo effect similar to natural human hearing when compared to normal "volume" panning. +For macOS, start a Terminal window and run Jamulus with the desired options like this: -### Start Minimised + `/Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100` -**Windows users** - If you want the Server to start automatically on system start, enable the corresponding check box. +**Note** Command line options will set the Server’s defaults at startup. You can override them with their corresponding GUI controls while the Server is running. -### Server status icon +### The Server status icon -When the Server is running, the operating system will show an icon in the system tray or status area to represent whether the Server is active: +When a Server is running in GUI mode, the operating system will show an icon in the system tray or status area that indicates whether the Server is active:
Image of the Jamulus Server icon
The Server is empty
Image of the Jamulus Server icon
The Server is occupied -## Command line options - -Most common functions in Jamulus can be set using the GUI, but these and others can also be set using options given in a terminal window. Exactly how you do this will depend on your operating system. - -For example on Windows, to use a specific settings file, right-click on the Jamulus shortcut and choose "Properties" > Target. Add the necessary arguments to Jamulus.exe: - -```shell - "C:\Program Files\Jamulus\Jamulus.exe" --serverbindip 192.168.0.100 -``` - -For macOS, start a Terminal window and run Jamulus with the desired options like this: - -```shell - /Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100 -``` - -**Note**: Command line options will set the Server's defaults at startup. You can override them with their corresponding GUI controls while the Server is running. - -{% include_relative Include-Server-Commands.md %} - -{% include_relative Include-Shared-Commands.md %} - - -## Running an Unregistered Server - -It is highly recommended to test your Server by registering it on one of the built-in Directories **first** so as to narrow down any subsequent problems in unregistered mode. - -### Setting up a Server behind a home router - -If you set up your server at home, you will probably need to change some settings in your router/firewall: - -#### Port forwarding - -People from outside your home network will not be able to see things inside it. To let external Jamulus clients connect to your server, you need to set up port forwarding in your Router's settings. The exact setup differs for every router. For help see your Router's documentation or [portforward.com](https://portforward.com). - -**Note:** The default port for the current version of Jamulus is **UDP** (not TCP) port **22124**. You will usually forward the port **22124** from outside your network to the port **22124** of the machine running the Server. - -**Note:** Your home router may change the IP address of the machine you're running your Server on. Depending on your router, you might need to give this machine a static IP address (often under DHCP settings of your router). - -#### Getting the external IP - -To allow others to connect to your Server from the internet, get your external (WAN) IP address e.g. by [using Google](https://www.google.com/search?q=what+is+my+ip) and give it to them. -You yourself should connect using the local network (LAN) address of the machine the Server is running on. If you are running a Client on the same machine as your Server, that would be `localhost` or `127.0.0.1`. - - -#### Dynamic DNS and why you will probably need it - -Most domestic internet connections change their external IP address after a short period. To avoid problems with this, you might want to set up "dynamic DNS" to get a static (sub-)domain you can share with others. Please research how to do that for your specic set up. Your router might support some "dynamic DNS" providers out of the box. If this is not the case, set up a dynamic DNS client as described by the dynamic DNS provider you chose. +--- ## Backing up the Server -_Note that headless Servers do not use `.ini` files. All configuration is given as command line options._ - {% include_relative Include-Backing-Up.md %} +- Headless Servers do not use `.ini` files. All configuration is given as command line options. If you are running a server in GUI mode, it will store its configuration (after reading any command line options on start) in the file `Jamululsserver.ini` + ## Troubleshooting If you are having other problems, [see this guide](Server-Troubleshooting). diff --git a/wiki/en/Unregistered-Servers.md b/wiki/en/Unregistered-Servers.md new file mode 100644 index 000000000..8adf573a1 --- /dev/null +++ b/wiki/en/Unregistered-Servers.md @@ -0,0 +1,34 @@ +--- +layout: wiki +title: "Running an Unregistered Server" +lang: "en" +permalink: "/wiki/Unregistered-Servers" +--- + +{% include breadcrumb.html root="More" branch1="Server Administration" branch1-url="Running-a-Server" %} + +# Running an Unregistered Server + +It is highly recommended to test your Server by registering it on one of the built-in Directories **first**. This will help you tackle general problems before you try unregistered mode. + +## Setting up a Server behind a home router + +If you set up your server at home, you will probably need to change some settings in your router/firewall: + +### Port forwarding + +Normally, people from outside your home network cannot see things inside it. To let external Jamulus clients connect to your server, you need to set up port forwarding in your router's settings. The exact setup differs for every router. For help, see your router's documentation or [portforward.com](https://portforward.com). + +**Note:** The default port for Jamulus is **UDP** (not TCP) port **22124**. You will usually forward the port **22124** from outside your network to the port **22124** of the computer running the Server. + +**Note:** Your home router might change the IP address of the computer you're running your Server on. Depending on your router, you might need to give this computer a static IP address (often under DHCP settings of your router). + +### Getting the external IP + +To allow others to connect to your Server from the internet, give them your public internet IP address. You can learn your current address [using Google](https://www.google.com/search?q=what+is+my+ip). +You should connect yourself using the local network address of the computer the Server is running on. If you are running a Client on the same computer as your Server, the address is `localhost` or `127.0.0.1`. + + +### Dynamic DNS and why you will probably need it + +Unless your ISP provides you with a fixed IP address, you may find that your address changes over time. To avoid problems with this, you might want to set up "dynamic DNS" to get a static address you can share with others. Your router might support some "dynamic DNS" providers to do this. If this is not the case, these providers will have instructions to set up a dynamic DNS client.