Menu

[draft] HOWTO install Jamulus as a "headless" server on Ubuntu 18.04

Gilgongo
2020-03-20
2020-11-29
<< < 1 2 3 4 5 > >> (Page 2 of 5)
  • Volker Fischer

    Volker Fischer - 2020-03-21

    Yes, this is expected. Please see https://sourceforge.net/p/llcon/bugs/12/

     
    👍
    1
    • Gilgongo

      Gilgongo - 2020-03-21

      One (I hope final!) question: what is the reccommended way of running the server on a non-default port?

       
      • Volker Fischer

        Volker Fischer - 2020-03-21

        Simply use the -p option to specify the port you want to use for your server.

         
        👍
        1
  • Nicholas Neil-Boss

    Thanks for this. I am using Ubuntu 18.04. I needed to make jamulus-start.ch executable to make this work - sudo chmod +x /usr/local/bin/jamulus-start.sh

     
  • Ilaria

    Ilaria - 2020-03-22

    Hello,
    thanks for the great tutorial!
    Actually on the line reading:
    Move this script to a permanent place (eg /usr/local/bin) and make it executable (sudo chmod 644 /usr/local/bin/jamulus-start.sh)
    shouldn't it be 755 to make it executable?

    Beside this, I have a weird issue:
    I set up a cloud server to which I connect via ssh.
    A friend in my same city (Barcelona) could see it in the server list and connect without problems.
    The server is physically in Europe, from my workstation I can ping it with a lag of about 40ms; my friend can reach it as well with a 40ms average lag.
    But I cannot see it in the server list nor connect through the IP of the server.

    I tried both public, private and central server configurations, always with the same results...
    Any idea? Any help?
    Thanks!!!

     

    Last edit: Ilaria 2020-03-22
  • Gilgongo

    Gilgongo - 2020-03-22

    shouldn't it be 755 to make it executable?

    Ah good catch - will correct that :-)

    I cannot see it in the server list nor connect through the IP of the server.

    Yes, this confused me as well. There is in fact a note on this in the HOWTO, but I was wondering whether I should make it more obvious:

    "When testing a public server, there is a common network routing issue which means you will likely NOT see your server in your client's server list. However, those outside your local network should be able to see your server. When your server is visiable to clients, you should see entries in your log file every time they connect."

    At least that's what I understand from this issue: https://sourceforge.net/p/llcon/bugs/12/

     
    • Gilgongo

      Gilgongo - 2020-03-22

      BTW @themagesolver when you say you can't connect to it, do you mean from your client using the "Server Name/Address" field in the Connection Setup window? If so I think that might be a separate issue.

       
      • Ilaria

        Ilaria - 2020-03-22

        Yes, I cannot see it from my Win client.
        I tried all the possible combinations of

        @ Settings -> Central Server Address:
        Default
        IP
        URL
        IP+port (22124)

        @ Connection Setup [it never appeared here to my Win client in the list] -> Server Name/Address -> Connect:
        IP
        URL
        IP+port
        My Jamulus Server Name

        @ My Linux Jamulus Server:
        Public
        Private
        * Central Server

         
        • Gilgongo

          Gilgongo - 2020-03-25

          OK that's strange. It sounds like there might be some firewall issue between your LAN and the cloud server on the WAN if you friend can connect to it OK.

          I'm not very familiar with Windows, but might it be that your client machine (or something else?) is blocking UDP 22124 requests?

           
    • Ilaria

      Ilaria - 2020-03-22

      Hello Gilgongo,
      Actually I specified the server is in cloud, because it is not in my LAN...
      So that's why I considered it shouldn't fall in that condition...
      The fact is that I would like to be able to join as well... and I cannot, not even specifying the server in the settings...

       
      • Gilgongo

        Gilgongo - 2020-03-22

        I have the same setup as you (server in cloud, client on my desktop machine on my LAN) and I can't see my server listed in the public list either. I think it's just a networking limitation and not much can be done about it.

        However, I can connect to my server, but you can't. So that's a different issue I think and I'm not aware of anyone else reporting it.

        Are you definitely able to send packets out to port 22124 from your LAN? Might there be a local firewall preventing that perhaps? You can try scanning for open UDP ports using

        sudo nmap -sU -p 22124 [hostname]

        EDIT: Sorry I should have asked the obvious quesiton: Can you connect to any servers, yours or not?

         

        Last edit: Gilgongo 2020-03-22
        • Ilaria

          Ilaria - 2020-03-22

          I can connect to many servers yes, that's why it's so strange...
          I can connect to many servers, my friend can connect to my server, but apparently I cannot connect to my server which is out of my LAN...

          My client is Windows, so time to install nmap and I will try but I guess it should...

           
          • Gilgongo

            Gilgongo - 2020-03-22

            It seems to be tricky to scan UDP ports, so I don't know how useful that will be in tracking down the problem, but I would check any Windows firewall on the client machine.

            Also, I have in the past cured mysterious network issues by simply rebooting the hardware involved. There might be some weird routing issue or packet-based oddness going on.

             

            Last edit: Gilgongo 2020-03-22
            • Ilaria

              Ilaria - 2020-03-22

              Tried to update the system and reboot... and still the same...

               
              • Ilaria

                Ilaria - 2020-03-22

                Actually the port results as open/filtered...

                 
                • Gilgongo

                  Gilgongo - 2020-03-22

                  Yes, I think UDP port scanning may not reveal much. nmap comes back with all UDP ports open/filtered for me :-(

                  Are you able to set up a private server on your LAN, and if so can you connect to that? Doing so would at least eliminate the possiblity of something within your network being the problem and would maybe imply something at your router or beyond.

                   
                  • Ilaria

                    Ilaria - 2020-03-22

                    What I did try before the Linux server, was to use the Windows Server which comes with the installation. And it works perfectly, just the server has better resources than my laptop...

                    In the next days I could actually try to set it up on a Linux VM in VirtualBox... Though not sure the whole VM would add more complexity...

                     

                    Last edit: Ilaria 2020-03-22
                    • Gilgongo

                      Gilgongo - 2020-03-22

                      If it's a KVM-style VM (not a chroot-style container like Docker) then it should be pretty simple (feel free to test my HOWTO!)

                       
                      • Ilaria

                        Ilaria - 2020-03-22

                        Yep, it's a simple KVM centos/fedora (can't remember now) on VirtualBox. Do you mean this HOWTO or you have a special one for VMs?
                        And, btw, thanks a lot for your time!

                         
                        • Gilgongo

                          Gilgongo - 2020-03-22

                          I mean the HOWTO assumes a "normal" networking and paths environment. I've not tested it with a container image or such like. Come to think of it, my host is in fact a KVM virtual machine, but it has no difference to a hardware one.

                           
  • Gronaz

    Gronaz - 2020-03-23

    Hi Gilgongo, great threat.
    Although, we'd like some clarifications about the realtime (RT) thing against the Jack FAQ that states we don't need a realtime kernel. Assuming you wrote this tutorial for a casual Ubuntu 18.04 am I right thinking you agree?
    Second, if informations to use RT Scheduling (which is different from RT kernel) are relevant in our case any user could use RT Scheduling as long as they belong to the "audio" group, and without niceness tweaking (but what about ionice?).
    I understand that Jamulus (server) is not Jack, and maybe it isn't even an audio application. Or is it a mix of audio+network app?
    A point from you aware developper would be a great for the ones that do not have the theorical background.
    Thank you again.

     

    Last edit: Gronaz 2020-03-23
    • Gilgongo

      Gilgongo - 2020-03-23

      Thanks Gronaz! Good questions!

      The HOWTO I wrote uses the "nosound" config for the Jamulus.pro compilation of the server, since its a "pure" server. Therefore Jack is not involved and the server is in effect not an audio app.

      However, I don't know if that part of the HOWTO that says the start command "needs root permissions to optimise the Jamulus server process" is correct. It might be possible in Ubuntu to invoke the nice/ionice commands without root privs as you point out perhaps.

      I'll see if I can find out.

      EDIT:

      As I suspected, it look like the only way to have a non-privileged account running a nice command would be to put that user in the sudoers file for that command (and without a password):

      https://askubuntu.com/questions/178491/nice-command-without-root-privileges/

       

      Last edit: Gilgongo 2020-03-23
  • Gronaz

    Gronaz - 2020-03-23

    Well, the thing was also is it really usefull to use nice / ionice ? I asked because I'm aware of the qmake "CONFIG+=nosound" option and Jack team says nice makes no sense for audio. But I also know that even with "+=nosound", OPUS is behind isn't it ?
    Well, maybe ionice is good for our servers, Jack team don't speak about it.

     
    • Gilgongo

      Gilgongo - 2020-03-23

      Well, the thing was also is it really usefull to use nice / ionice ?

      I guess that depends on the server's environment. It's reccommended to prioritise the CPU for the Jamulus process if you can, since anything you can do to minimise latency is good.

       
  • Petra-Kathi

    Petra-Kathi - 2020-03-23

    Sorry if my assumptions / questions are stupid/newbie-ish, but I like to get going as fast as possible to overcome Corona restrictions for our small private chamber orchestra. :-) I have quite some experience with Linux as only desktop system, but I am not too familiar with network settings.

    Is it sensible to run a Jamulus server behind a 50 MBit / 10 MBit DSL modem with DynDNS access from the outside? What latency is to be expected? I did understand that I need to open the respective port to let musicians in.

    If yes: Would the available bandwidth support about 6 players with a sensibly low latency?

    Can the server live on the same system as a client? Especially so, since both server and client must/should be operated in root mode to yield minimum latencies?

    Kind regards, and thanks for your great effort,
    Petra

     

    Last edit: Petra-Kathi 2020-03-23
<< < 1 2 3 4 5 > >> (Page 2 of 5)