Serverprobleme (Trinity+Linux)

04/08/2013 07:52 kneffelY#1
Hi,
ich hab soweit alles aufgesetzt und installiert,
jedoch habe ich das gefühl das mein Hauptserver nicht korrekt startet.
Ich starte meinen Worldserver und bekomme dann folgende "Console" angezeigt:

Code:
./worldserver
Using configuration file /home/worldof/server/etc/worldserver.conf.
Using SSL version: OpenSSL 1.0.1 14 Mar 2012 (library: OpenSSL 1.0.1 14 Mar 2012)
Using ACE version: 6.0.1
TrinityCore rev. d24ef896dfd9 2013-04-05 15:06:35 +0200 (master branch) (Unix, Release) (worldserver-daemon)
<Ctrl-C> to stop.

 ______                       __
/\__  _\       __          __/\ \__
\/_/\ \/ _ __ /\_\    ___ /\_\ \, _\  __  __
   \ \ \/\`'__\/\ \ /' _ `\/\ \ \ \/ /\ \/\ \
    \ \ \ \ \/ \ \ \/\ \/\ \ \ \ \ \_\ \ \_\ \
     \ \_\ \_\  \ \_\ \_\ \_\ \_\ \__\\/`____ \
      \/_/\/_/   \/_/\/_/\/_/\/_/\/__/ `/___/> \
                                 C O R E  /\___/
http://TrinityCore.org                    \/__/

Daemon PID: 23880
Ich habe den Server bereits in der Realmlist aufgenommen und dort wird er auch als vermeindlich "online" gesehen.
Aber, wenn ich die offenen Ports von meinem Server checke sehe ich dort auch nicht den worldserver..
Connectet man auf den Server bekommt man eine sekunde den connect anzeiger und dann sehe ich wieder die Realmlist.

Code:
 netstat -pln
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      23701/mysqld    
tcp        0      0 0.0.0.0:3724            0.0.0.0:*               LISTEN      8986/authserver 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1917/apache2    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      652/sshd        
tcp6       0      0 :::22                   :::*                    LISTEN      652/sshd
Ich kann auch keine Befehle in meiner World Console eingeben. Und ich weiß dank 0 Fehlermeldungen nicht mehr weiter..
04/08/2013 15:49 °"Crazy"°#2
Wie startest du den Server und was machst du danach?
Schreibe alles ausführlich, wir sind keine Hellseher.
04/08/2013 19:53 kneffelY#3
Steht doch da?!
04/08/2013 20:11 °"Crazy"°#4
Okay, eines machst du falsch:

Nachdem du den Worldserver gestartest hast, schließt du die Console. Damit killst du den Worldserver. Oder du lasst die Console einfach nicht offen und fährt den PC herunter, damit killst du es auch. Eventuell gibst du ein Befehl ein, damit es im Hintergrund läuft?

Meine Kristallkugel verrät mir halt nicht alles.


Code:
apt-get install screen

go/to/your/WoW/Server/

screen -AmdS worldserver ./worldserver
screen -AmdS authserver ./authserver
Villeict hilft Dir das schon weiter. Damit läuft es im Hintergrund. Und du killst es nicht, wenn du die Console schließt.
04/10/2013 09:03 kneffelY#5
Hi,
als erstes ich weiß das ich hier in einem recht noobigen Forum bin, ich brauche aber keine noob Antworten.
Die Console bleibt zum testen auf, später wenn es funktioniert arbeite ich mit Screen, was ich derzeit nicht mache.
Wie in meiner Beschreibung steht, schreibe ich das ich auf Befehle in der Console warte, logisch sei dann das ich die Console wohl auf lasse.
Das ist nicht das Problem.

Ich möchte damit nur sagen das ich recht viel erfahrung im UNIX Bereich habe, und derartige Tipps ein wenig niedrig sind.

Update.
Ich hab mir mal den mySQL Log angeschaut, und mir ist aufgefallen das ich dort einige kaputte tabellen habe, die ich repariert habe, jedoch fehlen mir nur tabellen in der World.

Jetzt weiß ich aber nicht mehr woher ich die SQL Datein hatte -.-
04/10/2013 15:30 Kent_Brockman#6
Du hast defekte Tabellen... Das ist bei MySQL eigentlich recht seltsam, denn für gewöhnlich passiert das nur, wenn du einfach den Stecker ziehst.
Wahlweise könnte aber auch dein FS kurz vorm Abflug stehen oder du solltest den File-I/O von deinem Server mal nachprüfen.

Deine gewünschte Datenbank, kannst du dir hier: [Only registered and activated users can see links. Click Here To Register...] gerne herunterladen.

Wenn allerdings dein Server so fest hängt:
Quote:
./worldserver
Using configuration file /home/worldof/server/etc/worldserver.conf.
Using SSL version: OpenSSL 1.0.1 14 Mar 2012 (library: OpenSSL 1.0.1 14 Mar 2012)
Using ACE version: 6.0.1
TrinityCore rev. d24ef896dfd9 2013-04-05 15:06:35 +0200 (master branch) (Unix, Release) (worldserver-daemon)
<Ctrl-C> to stop.

______ __
/\__ _\ __ __/\ \__
\/_/\ \/ _ __ /\_\ ___ /\_\ \, _\ __ __
\ \ \/\`'__\/\ \ /' _ `\/\ \ \ \/ /\ \/\ \
\ \ \ \ \/ \ \ \/\ \/\ \ \ \ \ \_\ \ \_\ \
\ \_\ \_\ \ \_\ \_\ \_\ \_\ \__\\/`____ \
\/_/\/_/ \/_/\/_/\/_/\/_/\/__/ `/___/> \
C O R E /\___/
[Only registered and activated users can see links. Click Here To Register...] \/__/

Daemon PID: 23880
So klebt er sicherlich im Connector für die DB.
Wenn das der Fall ist, so wird er dir keine offenen Ports anzeigen wollen, denn es ist schlicht und ergreifend keiner offen.
Ein Blick in die Master.cpp verrät uns auch warum:
Quote:
/// worldserver PID file creation
std::string pidfile = ConfigMgr::GetStringDefault("PidFile", "");
if (!pidfile.empty())
{
uint32 pid = CreatePIDFile(pidfile);
if (!pid)
{
sLog->outError(LOG_FILTER_WORLDSERVER, "Cannot create PID file %s.\n", pidfile.c_str());
return 1;
}

sLog->outInfo(LOG_FILTER_WORLDSERVER, "Daemon PID: %u\n", pid);
}

///- Start the databases
if (!_StartDB())
return 1;

<-------------------------> CO

///- Start up freeze catcher thread
if (uint32 freeze_delay = ConfigMgr::GetIntDefault("MaxCoreStuckTime", 0))
{
FreezeDetectorRunnable* fdr = new FreezeDetectorRunnable();
fdr->SetDelayTime(freeze_delay * 1000);
ACE_Based::Thread freeze_thread(fdr);
freeze_thread.setPriority(ACE_Based::Highest);
}

///- Launch the world listener socket
uint16 wsport = uint16(sWorld->getIntConfig(CONFIG_PORT_WORLD));
std::string bind_ip = ConfigMgr::GetStringDefault("BindIP", "0.0.0.0");

if (sWorldSocketMgr->StartNetwork(wsport, bind_ip.c_str()) == -1)
{
sLog->outError(LOG_FILTER_WORLDSERVER, "Failed to start network (World)");
World::StopNow(ERROR_EXIT_CODE);
// go down and shutdown the server
}
<--------
Ich habe die unwichtigen Stellen einmal herausgestrichen.
Hoffe das hilft ein wenig beim Fehlersuchen.

Lg

PS: Wenn du wieder dieses MySQL-Probleme haben solltest, so wäre es nett wenn du mal dein FS posten würdest.
EXT4 und XFS haben sich in letzter Zeit bei solchen Aktionen bewährt, wobei EXT4 bei sehr hohen Traffic ab und an dazu neigt Daten zu vergessen. XFS vergisst leider, wenn man Pech hat bei einem Stromausfall Daten, dafür hats nen dicken Cache und sehr hohe Übertragungsraten.
04/11/2013 10:09 kneffelY#7
Ich befürchte eher das ich die kaputten datenbank tabellen übernommen habe, weil ich die Datenbank nicht von trinity genommen haben, sondern bereits vorhandene..
ggfl. diese mit meiner mySQL Version nicht einverstanden waren.

Ich habe jetzt die TDB_full_335.51_2013_02_14.sql für meine "world" genommen.
Ebenso musste ich nun noch einmal Character anpassen.
Scheint nun zu klappen, jetzt gibt es nur einen Fehler mit den Maps.



Map file './maps/0004331.map' is from an incompatible map version (MAPS v1.2), MAPS v1.3 is expected. Please recreate using the mapextractor.
Correct *.map files not found in path './maps' or *.vmtree/*.vmtile files in './vmaps'. Please place *.map/*.vmtree/*.vmtile files in appropriate directories or correct the DataDir value in the worldserver.conf file.

Ich habe mir jetzt die Maps von Jeutie gezogen und wollte den Server starten.
Neues Problem:
[1054] Unknown column 'id' in 'field list'
Your database structure is not up to date. Please make sure you've executed all queries in the sql/updates folders.
Abgebrochen

Gefunden habe ich daraufhin [Only registered and activated users can see links. Click Here To Register...] aber anscheint verstehe ich die lösung nicht..

Hier noch ein paar Errors in der mySQL
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
130411 12:09:44 [ERROR] /usr/sbin/mysqld: Table './1/game_event' is marked as crashed and should be repaired
130411 12:09:44 [Warning] Checking table: './1/game_event'
130411 12:09:44 [ERROR] /usr/sbin/mysqld: Table './1/version' is marked as crashed and should be repaired
130411 12:09:44 [Warning] Checking table: './1/version'
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'



Hier mal noch ein paar technische Details..
(GAME)
mySQL 5.5.29
cmake version 2.8.7
Neuste Trinitycore Version - git

Auth-Server
8GB RAM
2x 3.0 XEON
2x 500GB HDD - RAID 1
- Uplink 2x 1000 Lan eth

Datenbank/Gamesserver 1
32GB RAM
4x 2.66GHz Quad
2x 2000GB HDD - RAID 1
- Uplink 2x 1000 Lan eth

Backupserver
4GB RAM
2x 2.40GHz XEON
10x 2TB HDD - RAID 2
- Hier auch per NFS der maps etc. auf dem Gameserver.
- Uplink 2x 1000 Lan eth

Gigabit Switch mit 2x 1gig ins Internet.
04/14/2013 16:46 anubis90#8
bump for interest
04/23/2013 22:22 Darkhomer#9
Quote:
Originally Posted by kneffelY View Post
Ich habe mir jetzt die Maps von Jeutie gezogen
Versuch mal deine eigenen zu Extractionieren(sry fals es falsch ist xD),

Quote:
Originally Posted by kneffel> View Post
Hier noch ein paar Errors in der mySQL
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
130411 12:09:44 [ERROR] /usr/sbin/mysqld: Table './1/game_event' is marked as crashed and should be repaired
130411 12:09:44 [Warning] Checking table: './1/game_event'
130411 12:09:44 [ERROR] /usr/sbin/mysqld: Table './1/version' is marked as crashed and should be repaired
130411 12:09:44 [Warning] Checking table: './1/version'
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
130411 12:09:44 [ERROR] Invalid (old?) table or database name 'world.ip2nationCountries'
LESEN!!! --->(OLD)


Mfg: Darkhomer!