diff --git a/wiki/en/Running-a-Server.md b/wiki/en/Running-a-Server.md index 9fbfac923..fd871f5bb 100644 --- a/wiki/en/Running-a-Server.md +++ b/wiki/en/Running-a-Server.md @@ -5,7 +5,7 @@ lang: "en" permalink: "/wiki/Running-a-Server" --- -# Server Administration Manual +# Server Administration Manual {:.no_toc}
@@ -21,13 +21,13 @@ permalink: "/wiki/Running-a-Server" ## Do I need to run a server? -The short answer is **no**. For various reasons, you should try to use other people's servers, at least at first while getting your sound set up with the Jamulus client. +The short answer is **no**. For various reasons, you should try to use other people's servers, at least at first while getting your sound set up with the Jamulus client. Note that you can have a "private" session with other people on a Public Server by simply soloing each other. You will then not be able to hear anyone else if they enter your server. ### Speed and latency -Many people attribute problems to the server that are in fact problems with the _client_. Much depends on the clients' hard/software setup, the networks that _they_ are on, and whether they are sticking to [Rule Number One](Client-Troubleshooting#you-all-sound-ok-but-its-difficult-to-keep-together). +Many people attribute problems to the server that are in fact problems with the _client_. Much depends on the clients' hard/software setup, the networks that _they_ are on, and whether they are sticking to [Rule Number One](Client-Troubleshooting#you-all-sound-ok-but-its-difficult-to-keep-together). **_The capability of the server itself (and the network it's on) is NOT the main determinant of the quality of a Jamulus session!_** @@ -48,7 +48,7 @@ Unless you plan on hosting more than about 5 players on a slower-speed home conn - Running a server may require you to adjust any firewalls running on or outside of your machine or cloud host. -- Running a Private Server at home will require you to [port forward](#running-a-private-server) on your router. When running a Private 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 a Private Server at home will require you to [port forward](#running-a-private-server) on your router. When running a Private 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. - Jamulus doesn't currently support IPv6 @@ -72,7 +72,7 @@ Your server will be listed in the Directory that clients use by default. Musicia ### 2. Private -This is the default when starting a server for the first time. Private 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 (in any server mode) let you control who can connect to a server. +This is the default when starting a server for the first time. Private 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 (in any server mode) let you control who can connect to a server.
@@ -84,17 +84,17 @@ This is the default when starting a server for the first time. Private Servers a ### 3. Directory -For when you want to run a number of Private Servers, possibly also behind a firewall or on a LAN. Examples include online events, music associations, sectional rehearsals or music lessons for schools. +For when you want to run a number of Private Servers, possibly also behind a firewall or on a LAN. Examples include online events, music associations, sectional rehearsals or music lessons for schools. To view servers listed by a custom Directory Server, musicians must enter the address in their client’s "Custom Directory Server" settings field. They will then see a Connection Setup list which is generated by your Directory. -Up to 150 servers can then register with your Directory by setting your Directory address in their `--directoryserver` option at startup. +Up to 150 servers can then register with your Directory by setting your Directory address in their `--directoryserver` option at startup. To run a server as a Directory, it should be configured with `--directoryserver localhost` (that is, making itself the Directory to query for servers). #### Points to note about Directories -- If you want to control which servers can register with your Directory, you can enable a whitelist with the `--listfilter` command line option. See the section on command line options later in this document. +- If you want to control which servers can register with your Directory, you can enable a whitelist with the `--listfilter` command line option. See the section on command line options later in this document. - When running a public Directory Server behind a NAT firewall on a private network, use the `--serverpublicip` option to specify the public IP address of the server(s) being listed by your Directory. This is necessary to allow clients on the public Internet to connect to them via NAT. Note that for the servers using this option, you will still need proper port forwarding in your router/firewall. @@ -141,9 +141,9 @@ Note also that mean ADSL2 transfer rate is 10 Mbit/s for downstream and 1 Mbit/s * **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** +* **Linux users** -Open a terminal window (`CTRL+ALT+t` on Ubuntu and related distros) and type `jamulus -s` +Open a terminal window (`CTRL+ALT+t` on Ubuntu and related distros) and type `jamulus -s` Hit return and you should see the server control window. You can stop the server by closing the server window, or by using `CTRL+C` in the terminal. @@ -152,7 +152,7 @@ Hit return and you should see the server control window. You can stop the server
Image of the Jamulus server setup window
-### Make My Server Public +### Make My Server Public By default, you will be running a Private Server and need to [read these instructions](#running-a-private-server) to have others connect to you in this mode. @@ -168,7 +168,7 @@ Because there is a limit of 150 servers per Directory, you need to select which Type in the name, city and country so that other users can easily identify you. -### Chat Welcome Message +### Chat Welcome Message The text entered here appears to all users when they join the server (the chat window will open automatically for them). @@ -192,7 +192,7 @@ This option uses small differences in sound arrival time between the two ears. I Leave this field empty unless you need to list your server on a [private Directory](#3-directory) -### Start Minimised +### Start Minimised **Windows users** - If you want the server to start automatically on system start, enable the corresponding check box. @@ -202,7 +202,7 @@ Leave this field empty unless you need to list your server on a [private Directo It is highly recommended to test your server in **public mode first** so as to narrow down any subsequent problems in private mode. -### Port forwarding +### Port forwarding Normally, people from outside your home network cannot see things inside it. So if you want to operate a Jamulus server at home, you need to open a hole in your router to let Jamulus clients connect to it. @@ -218,7 +218,7 @@ Most domestic Internet connections will change their IP address after a period ( Note also that your home router may also change the IP address of the machine that you are running your server on. In which case you may need either to give that machine a static IP in the router's DHCP configuration, or simply port forward to all the addresses in your LAN. -# Running a headless Linux server +# Running a headless Linux server Those wishing to run a server on a Linux cloud or other third party hosting platform should [read this guide](Server-Linux). @@ -229,26 +229,27 @@ Most common functions in Jamulus can be set using the GUI, but these and others 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 +"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 + /Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100 ``` **Note**: Command-line options will not alter settings made in the GUI. - `-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` Make the server public and sets its genre (see also `-o`). See [server types](#server-types) for further information. +- `-e` or `--directoryserver` Register the server on a directory (e.g. to set its genre (see also `-o`)). See [server types](#server-types) for further information. +- `--directoryfile` Enable directory to remember registered servers even if the directory is restarted. You'll need to specify a path to a writable file location in which server information is stored. - `-f` or `--listfilter` Whitelist servers registering on the server list, format `ip address 1[;ip address 2]` Directory Servers only. See [server types](#server-types) -- `-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. +- `-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];[locale value]` (see [values](https://doc.qt.io/qt-5/qlocale.html#Country-enum)) Public servers only -- `-P` or `--delaypan` Start with delay panning enabled See [notes](#delay-panning)) +- `-m` or `--htmlstatus` Enable HTML status file, set path and file name +- `-o` or `--serverinfo` Location details in the format: `[name];[city];[locale value]` (see [values](https://doc.qt.io/qt-5/qlocale.html#Country-enum)) Public servers only +- `-P` or `--delaypan` Start with delay panning enabled See [notes](#delay-panning)) - `-R` or `--recording` Include a writeable path where the files should be stored (in quotes if needed). See [Options](#options). - `--norecord` Disable recording when enabled by default by `-R` - `-s` or `--server` Start in server mode @@ -262,12 +263,8 @@ For macOS, start a Terminal window and run Jamulus with the desired options like {% include_relative Shared-Commands.md %} -# Troubleshooting +# Troubleshooting -Various problems can arise when setting up servers, and we generally ecourage people to use other people's (public) servers at first to isolate any issues that may in fact be due to client configuration. +Various problems can arise when setting up servers, and we generally ecourage people to use other people's (public) servers at first to isolate any issues that may in fact be due to client configuration. If you are having problems, [see this guide](Server-Troubleshooting). - - - -