From 7bb88ceb189a989bcfccd97be50055848693046c Mon Sep 17 00:00:00 2001 From: Peter L Jones Date: Sat, 30 May 2026 16:58:50 +0100 Subject: [PATCH] #1127 Clear up Server Command Line options --- contribute/en/Release-Process.md | 2 +- wiki/en/Command-Line-Options.md | 20 -------------------- wiki/en/Include-Client-Commands.md | 12 ++++++------ wiki/en/Include-Server-Commands.md | 20 ++++++++++++++++++++ wiki/en/Include-Shared-Commands.md | 22 +++++++++++----------- wiki/en/Running-a-Server.md | 18 ++++++++++++------ wiki/en/Server-Troubleshooting.md | 2 +- wiki/en/Software-Manual.md | 6 ++++-- 8 files changed, 55 insertions(+), 47 deletions(-) delete mode 100644 wiki/en/Command-Line-Options.md create mode 100644 wiki/en/Include-Server-Commands.md diff --git a/contribute/en/Release-Process.md b/contribute/en/Release-Process.md index 6cb39c2e4..d1606c17b 100644 --- a/contribute/en/Release-Process.md +++ b/contribute/en/Release-Process.md @@ -304,7 +304,7 @@ Current state: - [ ] Ensure the [Project Tracking Board](https://github.com/orgs/jamulussoftware/projects/5/views/5) shows the issues and any pull requests for the release in the correct status and remind the main developers to check the board. - [ ] Declare a freeze for code and website by updating this Issue and adding a comment. PRs can still be worked on and may get reviewed, but must not be merged unless agreed explicitly. - [ ] Check the `needs documentation` label for any outstanding PRs flagged for this release and remove that label if done. -- [ ] Check ./Jamulus -h output against the [Include-Client](https://github.com/jamulussoftware/jamuluswebsite/blob/next-release/wiki/en/Include-Client-Commands.md)/[Server-Commands](https://github.com/jamulussoftware/jamuluswebsite/blob/next-release/wiki/en/Include-Server-Commands.md).md pages and [man page (distributions/Jamulus.1)](https://github.com/jamulussoftware/jamulus/blob/main/distributions/Jamulus.1). Update if necessary. +- [ ] Check ./Jamulus -h output against the Include-[Shared](https://github.com/jamulussoftware/jamuluswebsite/blob/next-release/wiki/en/Include-Shared-Commands.md)/[Client](https://github.com/jamulussoftware/jamuluswebsite/blob/next-release/wiki/en/Include-Client-Commands.md)/[Server](https://github.com/jamulussoftware/jamuluswebsite/blob/next-release/wiki/en/Include-Server-Commands.md)-Commands.md pages and [man page (distributions/Jamulus.1)](https://github.com/jamulussoftware/jamulus/blob/main/distributions/Jamulus.1). Update if necessary. - [ ] Start Website translations - [ ] [Check for broken links](https://github.com/jamulussoftware/jamuluswebsite/blob/release/contribute/en/Release-Process.md#website-check-links) - [ ] Open a Pull Request from `next-release` to release, set it as "Draft", sanity check for conflicts and any obvious problems. diff --git a/wiki/en/Command-Line-Options.md b/wiki/en/Command-Line-Options.md deleted file mode 100644 index 63fd3a943..000000000 --- a/wiki/en/Command-Line-Options.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: wiki -title: "Jamulus – Command Line Options" -lang: "en" -permalink: "/wiki/Command-Line-Options" ---- - -# Command Line Options - -## Shared commands - -{% include_relative Include-Shared-Commands.md %} - -## Client only commands - -{% include_relative Include-Client-Commands.md %} - -## Server only commands - -See [Running a Server](Running-a-Server#server-mode-related-options) diff --git a/wiki/en/Include-Client-Commands.md b/wiki/en/Include-Client-Commands.md index b136fe066..23283373c 100644 --- a/wiki/en/Include-Client-Commands.md +++ b/wiki/en/Include-Client-Commands.md @@ -1,6 +1,6 @@ -- `-M` or `--mutestream` Prevent others on a server from hearing what I play -- `--mutemyown` Prevent me from hearing what I play in the server mix (headless only) -- `-c` or `--connect` Connect to given server address on startup, format `address[:port]` -- `-j` or `--nojackconnect` Disable auto JACK connections -- `--ctrlmidich` MIDI channel to listen on, Jamulus control + MIDI control number and count of consecutive CC numbers (or Jamulus channels), pick-up mode, device selection option. Format: `channel[;fn[*n]][;pn[*n]][;sn[*n]][;mn[*n]][;on][;u][;dDeviceName]` See [Tips & Tricks](Tips-Tricks-More#using---ctrlmidich-for-midi-controllers). -- `--clientname` Window title and JACK client name +| `-M` or `--mutestream` | Prevent others on a server from hearing what I play | +| `--mutemyown` | Prevent me from hearing what I play in the server mix (headless only) | +| `-c` or `--connect` | Connect to given server address on startup, format `address[:port]` | +| `-j` or `--nojackconnect` | Disable auto JACK connections | +| `--ctrlmidich` | MIDI channel to listen on, Jamulus control + MIDI control number and count of consecutive CC numbers (or Jamulus channels), pick-up mode, device selection option. Format: `channel[;fn[*n]][;pn[*n]][;sn[*n]][;mn[*n]][;on][;u][;dDeviceName]` See [Tips & Tricks](Tips-Tricks-More#using---ctrlmidich-for-midi-controllers). | +| `--clientname` | Window title and JACK client name | diff --git a/wiki/en/Include-Server-Commands.md b/wiki/en/Include-Server-Commands.md new file mode 100644 index 000000000..9ef4a5e4e --- /dev/null +++ b/wiki/en/Include-Server-Commands.md @@ -0,0 +1,20 @@ +| `-d` or `--discononquit` | disconnect all Clients on quit | +| `-e` or `--directoryaddress` | address of the Directory with which to register (or 'localhost' to run as a Directory) | +| `--directoryfile` | File to hold server list across Directory restarts. Directories only. | +| `-f` or `--listfilter` | Server list whitelist filter. Directories only. Format:
`[IP address 1];[IP address 2];[IP address 3]; ...` | +| `-F` or `--fastupdate` | use 64 samples frame size mode | +| `-l` or `--log` | enable logging, set file name | +| `-L` or `--licence` | show an agreement window before users can connect | +| `-m` or `--htmlstatus` | deprecated, please use JSON-RPC instead | +| `-o` or `--serverinfo` | registration info for this Server. Format:
`[name];[city];[country as two-letter ISO country code or Qt5 QLocale ID]` | +| `--serverpublicip` | public IP address for this Server. Needed when registering with a server list hosted behind the same NAT | +| `-P` or `--delaypan` | start with delay panning enabled | +| `-R` or `--recording` | set server recording directory; server will record when a session is active by default | +| `--norecord` | set server not to record by default when recording is configured | +| `--noraw` | disable raw audio | +| `-s` or `--server` | start Server | +| `--serverbindip` | IP address the Server will bind to (rather than all) | +| `-T` or `--multithreading` | use multithreading to make better use of multi-core CPUs and support more Clients | +| `-u` or `--numchannels` | maximum number of channels | +| `-w` or `--welcomemessage` | welcome message to display on connect (string or filename, HTML supported) | +| `-z` or `--startminimized` | start minimizied | diff --git a/wiki/en/Include-Shared-Commands.md b/wiki/en/Include-Shared-Commands.md index 47c7c8fd4..5a17824ab 100644 --- a/wiki/en/Include-Shared-Commands.md +++ b/wiki/en/Include-Shared-Commands.md @@ -1,14 +1,14 @@ [comment]: # (This is an include file for use in multiple documents) -- `-h` or `--help` Display help text -- `-i` or `--inifile` Set location of initialization file (overrides default. On macOS simply provide a filename only, since config files can only be read from `/Users//Library/Containers/app.jamulussoftware.Jamulus/Data/`. For the server replace `app.jamulussoftware.Jamulus` with `app.jamulussoftware.JamulusServer`. Turn on "Show Library folder" in "Show view options" in Finder to see this folder.) -- `-n` or `--nogui` Disable GUI (for use in headless mode) -- `-p` or `--port` Sets the local UDP port number. Default is 22124 -- `--jsonrpcport` Enables JSON-RPC API server to control the app, set TCP port number (EXPERIMENTAL, APIs might change; only accessible from localhost). Please see [the JSON-RPC API Documentation file](https://github.com/jamulussoftware/jamulus/blob/main/docs/JSON-RPC.md). -- `--jsonrpcsecretfile` Required when using `--jsonrpcport`. Sets a path to a text file containing an authentication string for getting access to the JSON-RPC API. -- `--jsonrpcbindip` The IP address the JSON-RPC server should bind to. (optional, defaults to 127.0.0.1) -- `-Q` or `--qos` Sets the quality of service DS Field byte. Default is 128 (DSCP/CS4). QoS is ignored by Windows. To enable it, [see this page](QOS-Windows) -- `-t` or `--notranslation` Disable UI language translations -- `-6` or `--enableipv6` Enable IPv6 addressing (IPv4 is always enabled) -- `-v` or `--version` Output version information and exit +| `-h` or `--help` | Display help text | +| `-i` or `--inifile` | Set location of initialization file (overrides default. On macOS simply provide a filename only, since config files can only be read from `/Users//Library/Containers/app.jamulussoftware.Jamulus/Data/`. For the server replace `app.jamulussoftware.Jamulus` with `app.jamulussoftware.JamulusServer`. Turn on "Show Library folder" in "Show view options" in Finder to see this folder.) | +| `-n` or `--nogui` | Disable GUI (for use in headless mode) | +| `-p` or `--port` | Sets the local UDP port number. Default is 22124 | +| `--jsonrpcport` | Enables JSON-RPC API server to control the app, set TCP port number (EXPERIMENTAL, APIs might change; only accessible from localhost). Please see [the JSON-RPC API Documentation file](https://github.com/jamulussoftware/jamulus/blob/main/docs/JSON-RPC.md). | +| `--jsonrpcsecretfile` | Required when using `--jsonrpcport`. Sets a path to a text file containing an authentication string for getting access to the JSON-RPC API. | +| `--jsonrpcbindip` | The IP address the JSON-RPC server should bind to. (optional, defaults to 127.0.0.1) | +| `-Q` or `--qos` | Sets the quality of service DS Field byte. Default is 128 (DSCP/CS4). QoS is ignored by Windows. To enable it, [see this page](QOS-Windows) | +| `-t` or `--notranslation` | Disable UI language translations | +| `-6` or `--enableipv6` | Enable IPv6 addressing (IPv4 is always enabled) | +| `-v` or `--version` | Output version information and exit | diff --git a/wiki/en/Running-a-Server.md b/wiki/en/Running-a-Server.md index b13978ebe..24f3a990f 100644 --- a/wiki/en/Running-a-Server.md +++ b/wiki/en/Running-a-Server.md @@ -82,7 +82,7 @@ To run a headless server on Linux, the following steps assume you are familiar w sudo systemctl enable jamulus-headless ``` -1. Add your desired [command line options](Running-a-Server#configuration-options) to the `ExecStart` line in the systemd service file: +1. Add your desired [configuration options](Running-a-Server#configuration-options) to the `ExecStart` line in the systemd service file: ``` sudo systemctl edit --full jamulus-headless @@ -161,7 +161,17 @@ See the table below for `hostname:port` values. **Note**: Semicolon and newline characters are not allowed in `[name]` and `[city]` within the `--serverinfo` argument. See the [Server mode-related options](#server-mode-related-options) for more information on the country code. -### Server mode-related options +### Server Command Line Options + +### Shared commands + +{% include_relative Include-Shared-Commands.md %} + +### Server only commands + +{% include_relative Include-Server-Commands.md %} + +### Server mode related options ##### `-e or --directoryaddress` @@ -248,10 +258,6 @@ Maximum number of channels (Clients) ##### `-z or --startminimized` Start the Jamulus Server graphical user interface in the minimized window state. -### Other options - -{% include_relative Include-Shared-Commands.md %} - ### Controlling the Server via API Jamulus can be controlled via an experimental API which is subject to changes. You can find the [JSON-RPC API documented in the main repository](https://github.com/jamulussoftware/jamulus/blob/main/docs/JSON-RPC.md). JSON-RPC allows you to control some features like changing the welcome message or starting recordings in headless mode from authenticated external applications. It works while the server is running. diff --git a/wiki/en/Server-Troubleshooting.md b/wiki/en/Server-Troubleshooting.md index 781566513..ed7c3b8a8 100644 --- a/wiki/en/Server-Troubleshooting.md +++ b/wiki/en/Server-Troubleshooting.md @@ -23,7 +23,7 @@ permalink: "/wiki/Server-Troubleshooting" ### Why doesn't my Server show up in the list? Why isn't it registering? -If you are registered OK (you can [see it here](https://explorer.jamulus.io/)) and you or your friends can't see your Server, you may need to wait, or start your Client with the `--showallservers` option and try connecting from there ([see command line options](Software-Manual#command-line-options)) on how to start your Client with a config option). In some network configurations, you may also need to configure your router to [forward the port number](Unregistered-Servers#port-forwarding) used by Jamulus Server. +If you are registered OK (you can [see it here](https://explorer.jamulus.io/)) and you or your friends can't see your Server, you may need to wait, or start your Client with the `--showallservers` option and try connecting from there ([see Client Command Line Options](Software-Manual#client-command-line-options)) on how to start your Client with a config option). In some network configurations, you may also need to configure your router to [forward the port number](Unregistered-Servers#port-forwarding) used by Jamulus Server. If you are seeing a message that says the Server is full, you will need to wait until a slot becomes free. diff --git a/wiki/en/Software-Manual.md b/wiki/en/Software-Manual.md index 09fe87063..bd3442f21 100644 --- a/wiki/en/Software-Manual.md +++ b/wiki/en/Software-Manual.md @@ -377,7 +377,7 @@ When MIDI is enabled, Jamulus will prepend a channel number to each Client name, $HOME/Library/Containers/app.jamulussoftware.Jamulus/Data/.config/Jamulus/ ``` -# Command Line Options +# Client 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. @@ -393,9 +393,11 @@ For macOS, start a Terminal window and run Jamulus with the desired options like /Applications/Jamulus.app/Contents/MacOS/Jamulus --inifile "/path/to/myinifile.ini" ``` +{% include_relative Include-Shared-Commands.md %} + {% include_relative Include-Client-Commands.md %} -{% include_relative Include-Shared-Commands.md %} +Server options are listed in [Running a Server](Running-a-Server#configuration-options). # Controlling the Client via API