Soluzione all'errore Metin2 "Associazione socket non riuscita".
Quando si avviano i server PVP di Metin2, i canali (CH) non si aprono, gli ingressi al gioco rimangono chiusi e i file syserr.txt nelle directory principali vengono cancellati. "SocketBindBind: bind: indirizzo già in uso" O "SYSTEM_CMD: socket_bind: non riuscito" Se vedi degli avvisi, il tuo server sta riscontrando un conflitto di porte. In questa guida imparerai le cause e le soluzioni esatte a questo problema.
1. Qual è la causa principale del problema?
Ogni canale di gioco (Auth, CH1, CH2, Game99, ecc.) occupa un numero di porta specifico (Es: 13000, 13001) sul sistema operativo FreeBSD per accettare connessioni di giocatori esterni. Se i file di gioco provano a riaprire una porta che è **già aperta e utilizzata** nel sistema, verrà visualizzato l'errore "Socket Bind Failed" e il canale si chiuderà da solo.
Metodo 2: chiusura di MySQL o dei processi di gioco in background
La causa più comune di questo errore è il riavvio ripetuto del server senza spegnerlo completamente. Il nuovo comando start restituisce un errore perché i vecchi processi di gioco in esecuzione in background non chiudono le porte. Per la soluzione:
- Collegati al terminale Putty e digita il seguente comando per elencare tutti i processi di gioco attivi in background:
ps ax | grep game - Se vedi ancora canali di gioco attivi nell'elenco, terminali completamente con un singolo comando:
killall -9 gameOkillall -9 db - Dopo esserti assicurato che i processi siano completamente chiusi, prova ad avviare nuovamente il gioco.
Metodo 3: correzione dei conflitti di porte nei file CONFIG
Se ricevi questo errore al primo avvio anche dopo un riavvio pulito del server, i numeri di porta nei tuoi file sono in conflitto tra loro:
- Connettiti al tuo server con Filezilla
/usr/game/cores/Vai alla directory. - Rispettivamente
auth,channel1,channel2Egame99nelle cartelle CONFIG Apri i file uno per uno. - in ogni file PORTA Controlla il valore. Per esempio; Se la porta Auth è 13000, la porta Channel1 dovrebbe essere 13010, la porta Channel2 dovrebbe essere 13020.
- Assicurati che lo **stesso numero di porta** non sia scritto nel file CONFIG in due cartelle diverse. Se lo stesso, assegnagli un numero di porta univoco e salva il file.
Metodo 4: rilevamento dell'applicazione utilizzando il limite e la porta in conflitto
Oltre ai file di gioco, è possibile che uno script esterno, un pannello Web o un software di protezione (Guard) installato sul server occupi la porta del gioco. Per scoprire quale applicazione sta utilizzando la porta:
- Elenca le porte e i servizi attivi eseguendo il seguente comando nel terminale Putty:
sockstat -4 -l - Nell'elenco visualizzato, trova il numero di porta non aperto del tuo gioco ed esamina il nome dell'applicazione (ID processo / Nome) a sinistra. È possibile risolvere il problema arrestando il servizio esterno in conflitto.
Questo articolo è stato preparato appositamente per PvPServer.