[GH-ISSUE #1015] [Mumble] Issue with multihomed server interfaces #802

Closed
opened 2026-02-27 02:53:36 +03:00 by kerem · 23 comments
Owner

Originally created by @ncronin on GitHub (Aug 22, 2016).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1015

Originally assigned to: @cedarlug on GitHub.

I can't seem to figure this out, I've tried many different ports (and ips) and isolating it to it's own user but it doesn't seem to want to start on the specified port. Any help would be greatly appreciated! ♥

Error:
[ FAIL ] Starting mumble-server: Unable to start Mumble Port 64738

I am using a single user because I'm a horrible person. There's 1 rust, 11 TF2, 6 CS:GO, and 6 CS:S servers on this machine all running LGSM on their own IP w/ default port.

./server details:

Distro Details
================================================================================
Distro:    Ubuntu 14.04.5 LTS
Arch:      x86_64
Kernel:    3.14.32-xxxx-grs-ipv6-64
Hostname:  intox-game.xns-managed.xerhik.net
tmux:      tmux 2.0
GLIBC:     2.19

Performance
================================================================================
Uptime:    31d, 0h, 3m
Avg Load:  1.68, 1.33, 1.49

Mem:       total   used   free     cached
Physical:  125G    123G   2.3G     114G
Swap:      1.0G    31M    990M

Storage
================================================================================
Filesystem:   /dev/md2
Total:        841G
Used:         252G
Available:    547G
LGSM Total:   79M
Serverfiles:  34M

Mumble Server Details
================================================================================
Server name:  Mumble Port 64738
:64738 IP:    198.27.120.24
Status:       OFFLINE

server Script Details
================================================================================
Service name:      mumble-server
server version:    290716
User:              steam
Email alert:       off
Pushbullet alert:  off
Update on start:   off
Location:          /home/steam/servers/mumble
Config file:       /home/steam/servers/mumble/serverfiles/murmur.ini

Backups
================================================================================
No Backups created

Command-line Parameters
================================================================================
./murmur.x86 -fg -ini /home/steam/servers/mumble/serverfiles/murmur.ini

Ports
================================================================================
Change ports by editing the parameters in:
/home/steam/servers/mumble/serverfiles/murmur.ini

Useful port diagnostic command:
netstat -atunp | grep murmur

DESCRIPTION    DIRECTION  PORT   PROTOCOL
  udpce        INBOUND    64738
  tcpverQuery  INBOUND    64738

Status: OFFLINE
Originally created by @ncronin on GitHub (Aug 22, 2016). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1015 Originally assigned to: @cedarlug on GitHub. I can't seem to figure this out, I've tried many different ports (and ips) and isolating it to it's own user but it doesn't seem to want to start on the specified port. Any help would be greatly appreciated! ♥ **Error:** `[ FAIL ] Starting mumble-server: Unable to start Mumble Port 64738` I am using a single user because I'm a horrible person. There's 1 rust, 11 TF2, 6 CS:GO, and 6 CS:S servers on this machine all running LGSM on their own IP w/ default port. **./server details:** ``` Distro Details ================================================================================ Distro: Ubuntu 14.04.5 LTS Arch: x86_64 Kernel: 3.14.32-xxxx-grs-ipv6-64 Hostname: intox-game.xns-managed.xerhik.net tmux: tmux 2.0 GLIBC: 2.19 Performance ================================================================================ Uptime: 31d, 0h, 3m Avg Load: 1.68, 1.33, 1.49 Mem: total used free cached Physical: 125G 123G 2.3G 114G Swap: 1.0G 31M 990M Storage ================================================================================ Filesystem: /dev/md2 Total: 841G Used: 252G Available: 547G LGSM Total: 79M Serverfiles: 34M Mumble Server Details ================================================================================ Server name: Mumble Port 64738 :64738 IP: 198.27.120.24 Status: OFFLINE server Script Details ================================================================================ Service name: mumble-server server version: 290716 User: steam Email alert: off Pushbullet alert: off Update on start: off Location: /home/steam/servers/mumble Config file: /home/steam/servers/mumble/serverfiles/murmur.ini Backups ================================================================================ No Backups created Command-line Parameters ================================================================================ ./murmur.x86 -fg -ini /home/steam/servers/mumble/serverfiles/murmur.ini Ports ================================================================================ Change ports by editing the parameters in: /home/steam/servers/mumble/serverfiles/murmur.ini Useful port diagnostic command: netstat -atunp | grep murmur DESCRIPTION DIRECTION PORT PROTOCOL udpce INBOUND 64738 tcpverQuery INBOUND 64738 Status: OFFLINE ```
Author
Owner

@cedarlug commented on GitHub (Aug 22, 2016):

Usually when a port doesn't bind, it's due to the port being already in use (which you say isn't the case), or the IP address not being bound to the machine (198.27.120.24 bound to an interface). Have you double-checked the IP address?

If that's not the case, push your murmur.ini to pastbin (strip any credentials), along with the results of ./mumbleserver debug. Additionally, post the output of netstat -atunp | grep murmur and make sure that your IP address is listed in ifconfig -a | grep "inet " | awk '{print $2}'.

<!-- gh-comment-id:241391759 --> @cedarlug commented on GitHub (Aug 22, 2016): Usually when a port doesn't bind, it's due to the port being already in use (which you say isn't the case), or the IP address not being bound to the machine (198.27.120.24 bound to an interface). Have you double-checked the IP address? If that's not the case, push your `murmur.ini` to pastbin (strip any credentials), along with the results of `./mumbleserver debug`. Additionally, post the output of `netstat -atunp | grep murmur` and make sure that your IP address is listed in `ifconfig -a | grep "inet " | awk '{print $2}'`.
Author
Owner

@ncronin commented on GitHub (Aug 22, 2016):

murmur.ini:
http://pastebin.com/gvK4bdSQ

Output of netstat:

tcp        0      0 198.27.120.24:64738     0.0.0.0:*               LISTEN      29303/murmur.x86
tcp        0      0 167.114.1.14:54044      149.56.108.239:3306     ESTABLISHED 29303/murmur.x86
udp        0      0 198.27.120.24:64738     0.0.0.0:*                           29303/murmur.x86

IP addresses are definitely listed.

<!-- gh-comment-id:241396119 --> @ncronin commented on GitHub (Aug 22, 2016): **murmur.ini:** http://pastebin.com/gvK4bdSQ **Output of netstat:** ``` tcp 0 0 198.27.120.24:64738 0.0.0.0:* LISTEN 29303/murmur.x86 tcp 0 0 167.114.1.14:54044 149.56.108.239:3306 ESTABLISHED 29303/murmur.x86 udp 0 0 198.27.120.24:64738 0.0.0.0:* 29303/murmur.x86 ``` IP addresses are definitely listed.
Author
Owner

@cedarlug commented on GitHub (Aug 22, 2016):

Debug output?

<!-- gh-comment-id:241396218 --> @cedarlug commented on GitHub (Aug 22, 2016): Debug output?
Author
Owner

@ncronin commented on GitHub (Aug 22, 2016):

Got this error when running the command:

./server debug
Unknown command: ./server debug
Usage: ./server [option]
Mumble - Linux Game Server Manager - Version 290716
https://gameservermanagers.com/server
<!-- gh-comment-id:241396459 --> @ncronin commented on GitHub (Aug 22, 2016): Got this error when running the command: ``` ./server debug Unknown command: ./server debug Usage: ./server [option] Mumble - Linux Game Server Manager - Version 290716 https://gameservermanagers.com/server ```
Author
Owner

@cedarlug commented on GitHub (Aug 22, 2016):

Is process 29303 a rogue process? If so, kill it with kill -9 290303 and see if mumble would start.

(./mumbleserver debug)
Edit: Ah - no debug for mumble. Gotcha

<!-- gh-comment-id:241396710 --> @cedarlug commented on GitHub (Aug 22, 2016): Is process 29303 a rogue process? If so, kill it with `kill -9 290303` and see if mumble would start. (./**mumble**server debug) Edit: Ah - no debug for mumble. Gotcha
Author
Owner

@cedarlug commented on GitHub (Aug 22, 2016):

Follow-up:
Your mumble server is running (I've connected to it). So it may be misreporting by the "details" output as being OFFLINE.

What happens when you kill the murmur process (above), re-examine netstat (seeing NO murmur process), and restart the mumble server. If the details output still shows it as offline then there may be a bug with the process detection in the script.

<!-- gh-comment-id:241399196 --> @cedarlug commented on GitHub (Aug 22, 2016): Follow-up: Your mumble server is running (I've connected to it). So it may be misreporting by the "details" output as being OFFLINE. What happens when you kill the murmur process (above), re-examine netstat (seeing NO murmur process), and restart the mumble server. If the details output still shows it as offline then there may be a bug with the process detection in the script.
Author
Owner

@ncronin commented on GitHub (Aug 22, 2016):

That's very odd. It does seem like the script misreporting it. I also would like to add that the script requires you to add ip="" in mumbleserver or else it throws an error. This isn't required though as it's set in murmur.ini

Seems to be working nonetheless so I'll wait for a bugfix and continue on, thanks! :)

<!-- gh-comment-id:241401373 --> @ncronin commented on GitHub (Aug 22, 2016): That's very odd. It does seem like the script misreporting it. I also would like to add that the script requires you to add ip="" in mumbleserver or else it throws an error. This isn't required though as it's set in murmur.ini Seems to be working nonetheless so I'll wait for a bugfix and continue on, thanks! :)
Author
Owner

@UltimateByte commented on GitHub (Aug 22, 2016):

Huh, i'll need to gett back into it.
Unless you solve it before... I had it working 100% like 2-3 weks ago, but many commits happened since.

<!-- gh-comment-id:241404736 --> @UltimateByte commented on GitHub (Aug 22, 2016): Huh, i'll need to gett back into it. Unless you solve it before... I had it working 100% like 2-3 weks ago, but many commits happened since.
Author
Owner

@cedarlug commented on GitHub (Aug 23, 2016):

This appears to be an issue which pops up when there are multiple IP addresses on the server.

There are some options here as to what the correct behavior is.

  • Option A is to allow the default mumble behavior - listen on 0.0.0.0 and change check_ip.sh to ignore mumble (just as it ignores TeamSpeak)
  • Option B is to force "host=" (not ip=) to be set in murmur.ini to be one of the IP addresses on the server, and to change check_ip.sh to honor the "host=" setting of murmur.
  • Option C is something other than the above which I might not be considering.

Thoughts?

<!-- gh-comment-id:241605617 --> @cedarlug commented on GitHub (Aug 23, 2016): This appears to be an issue which pops up when there are multiple IP addresses on the server. There are some options here as to what the correct behavior is. - Option A is to allow the default mumble behavior - listen on 0.0.0.0 and change check_ip.sh to ignore mumble (just as it ignores TeamSpeak) - Option B is to force "host=" (not ip=) to be set in murmur.ini to be one of the IP addresses on the server, and to change check_ip.sh to honor the "host=" setting of murmur. - Option C is something other than the above which I might not be considering. Thoughts?
Author
Owner

@jach11 commented on GitHub (Aug 23, 2016):

Most users will probably expect IP addressing to be set within the script if they already use lgsm for other servers. I think for the sake of consistency it should be set within the script and just ignore mumble.

<!-- gh-comment-id:241648333 --> @jach11 commented on GitHub (Aug 23, 2016): Most users will probably expect IP addressing to be set within the script if they already use lgsm for other servers. I think for the sake of consistency it should be set within the script and just ignore mumble.
Author
Owner

@UltimateByte commented on GitHub (Aug 23, 2016):

Well, it's working OK for me with one interface. I'm worried about warnings about libstdc packages that i need to make go away.

We need to ignore it through check_ip.sh first, then see if it's fixed. Can't really test as i got only one interface and won't bother simulating a virtual interface or something.

So https://github.com/GameServerManagers/LinuxGSM/blob/master/lgsm/functions/check_ip.sh#L11

if [ "${gamename}" != "TeamSpeak 3" ]&&[ "${gamename}" != "Mumble" ]; then

Can you test it out already ?

<!-- gh-comment-id:241685458 --> @UltimateByte commented on GitHub (Aug 23, 2016): Well, it's working OK for me with one interface. I'm worried about warnings about libstdc packages that i need to make go away. We need to ignore it through check_ip.sh first, then see if it's fixed. Can't really test as i got only one interface and won't bother simulating a virtual interface or something. So https://github.com/GameServerManagers/LinuxGSM/blob/master/lgsm/functions/check_ip.sh#L11 `if [ "${gamename}" != "TeamSpeak 3" ]&&[ "${gamename}" != "Mumble" ]; then` Can you test it out already ?
Author
Owner

@cedarlug commented on GitHub (Aug 23, 2016):

Yes - that fixes the issue on a multihomed system with the exception of the details output printing out a fixed IP when it's listening on 0.0.0.0.

Pushed to master.

<!-- gh-comment-id:241702509 --> @cedarlug commented on GitHub (Aug 23, 2016): Yes - that fixes the issue on a multihomed system with the exception of the details output printing out a fixed IP when it's listening on 0.0.0.0. [Pushed](https://github.com/GameServerManagers/LinuxGSM/commit/215aae3397d6f07bce7b26a1932419c169d127ae) to master.
Author
Owner

@cedarlug commented on GitHub (Aug 23, 2016):

@jach11 What you're suggesting is problematic because murmur doesn't accept IP specifications on the command line, only from the ini file. So there's not a good way to pass it from the lgsm script other than to pre-process the ini file (with a quick "sed -i "s/host=.*/host=${ip}/" ${inifile}) before invoking the murmur.x86 binary.

<!-- gh-comment-id:241703370 --> @cedarlug commented on GitHub (Aug 23, 2016): @jach11 What you're suggesting is problematic because murmur doesn't accept IP specifications on the command line, only from the ini file. So there's not a good way to pass it from the lgsm script other than to pre-process the ini file (with a quick "sed -i "s/host=.*/host=${ip}/" ${inifile}) before invoking the murmur.x86 binary.
Author
Owner

@jach11 commented on GitHub (Aug 23, 2016):

Ah i see that now, and by the looks of how they already have everything setup they won't ever change that, which kind of sucks.

<!-- gh-comment-id:241805187 --> @jach11 commented on GitHub (Aug 23, 2016): Ah i see that now, and by the looks of how they already have everything setup they won't ever change that, which kind of sucks.
Author
Owner

@dgibbs64 commented on GitHub (Aug 23, 2016):

@jach11 Yes it can be difficult to keep thinks consistent when all the servers work differently :P. Over all LGSM manages to do that though :)

<!-- gh-comment-id:241818103 --> @dgibbs64 commented on GitHub (Aug 23, 2016): @jach11 Yes it can be difficult to keep thinks consistent when all the servers work differently :P. Over all LGSM manages to do that though :)
Author
Owner

@UltimateByte commented on GitHub (Aug 24, 2016):

Alright, i guess it's solved ? Close ? Or we try to improve the details output when no IP is set too ?

<!-- gh-comment-id:242006633 --> @UltimateByte commented on GitHub (Aug 24, 2016): Alright, i guess it's solved ? Close ? Or we try to improve the details output when no IP is set too ?
Author
Owner

@cedarlug commented on GitHub (Aug 24, 2016):

Closing. Revisit the details output separately.

<!-- gh-comment-id:242040845 --> @cedarlug commented on GitHub (Aug 24, 2016): Closing. Revisit the details output separately.
Author
Owner

@ncronin commented on GitHub (Aug 28, 2016):

Sorry to bump, while the script works and starts the server fine. The error "cannot bind to port {whatever port is set}" still appears.

This is fine but in order to stop or restart the server you need to kill the process.

<!-- gh-comment-id:242963713 --> @ncronin commented on GitHub (Aug 28, 2016): Sorry to bump, while the script works and starts the server fine. The error "cannot bind to port {whatever port is set}" still appears. This is fine but in order to stop or restart the server you need to kill the process.
Author
Owner

@cedarlug commented on GitHub (Aug 29, 2016):

@ncronin - can you give a bit more details? Is this after the "./mumbleserver stop" or "./mumbleserver restart"? Where is the server process not being killed correctly?

<!-- gh-comment-id:243161734 --> @cedarlug commented on GitHub (Aug 29, 2016): @ncronin - can you give a bit more details? Is this after the "./mumbleserver stop" or "./mumbleserver restart"? Where is the server process not being killed correctly?
Author
Owner

@UltimateByte commented on GitHub (Aug 29, 2016):

Yeah, and where does that error occur ? What log / command ?

<!-- gh-comment-id:243180253 --> @UltimateByte commented on GitHub (Aug 29, 2016): Yeah, and where does that error occur ? What log / command ?
Author
Owner

@UltimateByte commented on GitHub (Nov 9, 2016):

Is this still a thing ? @ncronin

<!-- gh-comment-id:259311111 --> @UltimateByte commented on GitHub (Nov 9, 2016): Is this still a thing ? @ncronin
Author
Owner

@dgibbs64 commented on GitHub (May 4, 2017):

I believe the addition of graceful shutdown to most servers may of resolved this issue.

<!-- gh-comment-id:299324687 --> @dgibbs64 commented on GitHub (May 4, 2017): I believe the addition of graceful shutdown to most servers may of resolved this issue.
Author
Owner

@lock[bot] commented on GitHub (Jul 18, 2018):

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:406088201 --> @lock[bot] commented on GitHub (Jul 18, 2018): This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Sign in to join this conversation.
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LinuxGSM#802
No description provided.