Minecraft Server - failed to bind port!

Witam, na wstępie zaznaczę, że korzystałem już z poradnika na forum i w mojej opinii dobrze skonfigurowałem wszystko jednak chyba nie do końca.

Na routerze odblokowałem porty w konsoli i raczej po stronie routera wszystko jest dobrze. Odblokowałem w ubuntu za pomoca iptables porty 44444 oraz 25565 - na których prowadziłem testy.
W server.properties w linii server-ip wpisałem moje IP ponieważ gdy wpisywałem 0.0.0.0 to działało tylko na sieci lokalnej a gdy nic to nawet nie było błędu. IP jest zewnętrzne, sprawdzałem.

KOD BŁĘDU:

[14:44:46] [Server thread/INFO]: Starting Minecraft server on ...:44444
[14:44:47] [Server thread/INFO]: Using epoll channel type
[14:44:47] [Server thread/WARN]: **** FAILED TO BIND TO PORT!
[14:44:47] [Server thread/WARN]: The exception was: io.netty.channel.unix.Errors$NativeIoException: bind(…) failed: Cannot assign requested address
[14:44:47] [Server thread/WARN]: Perhaps a server is already running on that port?
[14:44:47] [Server thread/INFO]: Stopping server

Próbowałem zarówno na 25565 jak na 44444 i jest to samo );

Dodatkowo mam jeszcze jakiś taki błąd:

Gtk-Message: 14:44:45.465: Failed to load module “canberra-gtk-module”

oraz na początku taki:

2019-12-05 14:35:10,824 main ERROR Cannot access RandomAccessFile java.io.FileNotFoundException: logs/latest.log (Permission denied) java.io.FileNotFoundException: logs/latest.log (Permission denied)

Wkleiłem tylko według mnie tą istotną część (błędy), ewentualnie jeśli jest taka konieczność to wyślę cały log.

Próbowałem także na craftbukkit i ten sam problem. kod poniżej

piotr@piotr-server:~/Pulpit/Server$ java -Xms1024M -Xmx1024M -jar craftbukkit.jar nogui
Loading libraries, please wait…
[15:30:56] [Server thread/INFO]: Starting minecraft server version 1.14.4
[15:30:56] [Server thread/INFO]: Loading properties
[15:30:56] [Server thread/INFO]: Default game type: SURVIVAL
[15:30:56] [Server thread/INFO]: Generating keypair
[15:30:56] [Server thread/INFO]: Starting Minecraft server on . . . :44444
[15:30:56] [Server thread/INFO]: Using epoll channel type
[15:30:56] [Server thread/WARN]: **** FAILED TO BIND TO PORT!
[15:30:56] [Server thread/WARN]: The exception was: io.netty.channel.unix.Errors$NativeIoException: bind(…) failed: Cannot assign requested address
[15:30:56] [Server thread/WARN]: Perhaps a server is already running on that port?
[15:30:56] [Server thread/INFO]: Stopping server
[15:30:56] [Server thread/INFO]: Saving worlds
piotr@piotr-server:~/Pulpit/Server$

Co mówi lsof -i :44444?

piotr@piotr-server:~$ lsof -i :44444
piotr@piotr-server:~$

piotr@piotr-server:~$ sudo lsof -i :44444
[sudo] password for piotr:
piotr@piotr-server:~$

Pole z IP serwera służy do wpisania adresu IP karty sieciowej na której serwer ma nasłuchiwać połączeń. Wpisując 0.0.0.0 sprawiamy, że słucha na wszystkich. Twoje zewnętrzne IP nie wskazuje na żadną kartę sieciową, stąd ten błąd.

Jeśli serwer działa po sieci lokalnej znaczy to wystarczy tylko port przekierować. Skąd wiesz, że “IP jest zewnętrzne”? Jeśli masz rację to błąd jest w przekierowaniu portu.

Jeśli serwer działa po sieci lokalnej znaczy to wystarczy tylko port przekierować.

Nie działa, ale mogę zmienić w server-ip na 0.0.0.0 i będzie działał…

Skąd wiesz, że “IP jest zewnętrzne”?

Wiem że IP jest zewnętrzne bo sprawdziłem to na stronie, także dostawca
zepewniał mnie o tym.

Nie mam pojęcia zatem jak naprawić ten błąd.

Ale serwer musi działać, żeby można było się podłączyć…

Mnie też zapewniał :wink: Tylko dostawca mówiąć publiczne IP często ma nie ma na myśli routingu do Ciebie, a raczej to, że nikt inny w tym samym czasie nie będzie korzystał z Twojego adresu.

Jedyny sposób na sprawdzenie tego to sprawdzenie czy pakiety docierają do Twojego routera. Najprościej traceroute twoje.ip. (tracert na Windows) i zobaczyć, czy trasa się kończy na Twoim routerze.

Ale serwer musi działać, żeby można było się podłączyć…

W takim razie mam zmienić z ip mojej sieci na 0.0.0.0 czy próbować robić to na moim IP?

…i zobaczyć, czy trasa się kończy na Twoim routerze.

Zainstalowałem pakiet tracerroute

3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
piotr@piotr-server:~$

tylko w pierwszym i drugim wyskoczyły mi adresy ip
Jeśli dobrze rozumiem teraz muszę sprawdzić czy adres ip z pola drugiego zgadza się z adresem ip routera?

0.0.0.0 działa zawsze. Wszystko inne w tym miejscu to tylko ograniczenie.

Timeouty do limitu TTL to nie jest dobry znak. Znaczy to tyle, że nic ostatecznie na ping nie odpowiedziało.
Można jeszcze sprawdzić, czy router odpowiada na ping na bramie, powinno to być gdzieś w konfiguracji, czasem jest to traktowane jako funkcja “zabezpieczająca”. Jeśli wszystko tu wygląda dobrze to raczej nic ze stawiania serwera na tym internecie, po prostu nie ma połączenia z zewnątrz.

0.0.0.0 działa zawsze. Wszystko inne w tym miejscu to tylko ograniczenie.

Ustawiłem w takim razie to, co ciekawe przy porcie 44444 nie działało nawet
na LAN natomiast przy porcie domyślnym dla mc czyli 25565 zaczęło działać

Tyle, że to nie jest moim celem, także niech działa na LAN - fajnie - tylko
niech też działa ogólnie w internecie, hmm z tym jest problem. Odnośnie
testu tracertroute to dokładnie wygląda to tak: (oczywiście ip zamazane)

piotr@piotr-server:~/Pulpit/Server$ traceroute xx.xxx.xxx.xx
traceroute to xx.xxx.xxx.xx (xx.xxx.xxx.xx), 30 hops max, 60 byte packets
1 _gateway (192.168.100.1) 0.550 ms 0.653 ms 0.444 ms
2 xx.x.xxx.xx (xx.x.xxx.xx) 2.873 ms 2.781 ms 2.867 ms
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
piotr@piotr-server:~/Pulpit/Server$

Mój dostawca to ARTCOM, system którego używam Linux.
Mam internet podłączony światłowodem, router HUAWEI.

Czy warto konsultować się z dostawcą i poprosić o zmianę tego by
działało czy raczej takiej opcji nie ma?

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.