Register for your free account! | Forgot your password?

Go Back   elitepvpers > World of Warcraft > WoW Private Server
You last visited: Today at 23:13

  • Please register to post and access all features, it's quick, easy and FREE!

 

RealmPools TrinityCore vs Mangos

Reply
 
Old   #16
 
elite*gold: 0
Join Date: Mar 2011
Posts: 529
Received Thanks: 198
Ich bastel die Core um in erster Linie mir zu beweisen das man ein System ähnlich wie Blizz basteln kann ohne Blizzard zu sein.
Das ganze hatte ich im Frühjahr 2010 schon einmal gemacht aber dann die Lust daran verloren, weil ich es einfach falsch angepackt hatte.

Das ich nun den glücklichen Umstand habe diese Core auch auf einem Server testen zu können ist doch schon ein guter Antrieb das ganze auch so weit es geht fertig zu stellen xD

Achso die HP ist laenalith-wow.com, aber lass dich nicht von dem alten Design abschrecken, bei dem System ist mehr dahinter als man auf dem ersten Blick erkennen kann...



Kent_Brockman is offline  
Thanks
1 User
Old   #17
 
elite*gold: 0
Join Date: Aug 2011
Posts: 16
Received Thanks: 0
Hachja das sagt mir doch was

Würde mich aufjedenfall freuen, das System auch mal im Livebetriebt erleben zu können :P

Mach aufjedenfall weiter und lass dich nicht von Rückschlägen abschrecken.

Schade eigentlich, dass 98% der User dieses Boards vermutlich nicht(zu schätzen) wissen, was du bereits beschafft hast


megathorn is offline  
Old   #18
 
elite*gold: 0
Join Date: Mar 2011
Posts: 529
Received Thanks: 198
Den aktuellen Stand kann man im LiveBetrieb verfolgen, es läuft derzeit auf dem Highrate (Das Böse alias LaLeLu - Mint)
Hier läuft die aktuelle Core, wie ich sie auch gerade in meinem Repo habe, das einzige wo ich grad zu knabbern habe, ist das ich keine Achieves-Requests (beim vgl. der Erfolge) weitergeben kann.
Tuh ich das schiebt sich mein Client aus dem System, weil er denkt er hätte den MSG_BOOT_ME erhalten xD

Kann aber auch sein das ich nur vergessen habe die PCK-GUID richtig zu setzen.
Aber das kann eh erstmal warten, wichtig sind mir erstmal die Erfolge selber mitzuscheiden und vom Logon speichern zu lassen...

Ist das drinnen, mach ich mir wie schon evtl. erwähnt Gedanken dazu wie ich die XYZ-Pos in Grids umrechne, um einfach das ChatSystem im Logon neu aufbauen zu können, denn dieser Logon ist leider nen komplett leeres Blatt
Kent_Brockman is offline  
Old   #19
 
elite*gold: 0
Join Date: Aug 2011
Posts: 16
Received Thanks: 0
Kann man dich irgendwie kontktieren, wenn man Interesse hat bei deinem Projekt mitzuwirken (zumindest das Cluster)
Bevorzugt Skype oder Teamspeak
Vorallem die Datenbankstrukturen würden mich dabei interessieren


megathorn is offline  
Old   #20
 
elite*gold: 0
Join Date: Mar 2011
Posts: 529
Received Thanks: 198
Sodele ich hab nun doch nen ganz hässlichen Fehler gefunden:
Wenn die Node down ist und der Logon versucht sich zu verbinden, löscht er aus unerfindlichen Gründen nicht den Socket...
Das ganze hab ich nun mit einem delete versehen und nun ist Schluss mit dem Bug und das Teil könnte nun auch auf etwas mehr als 100 Spieler losgelassen werden xDD

Nur irgendwie will mir nicht in den Kopf, warum zum Henker das Teil pro Thread eine Socket-Copy erstellt, diese aber offensichtlich nicht wirklich nutzt... (ich weiß das ich normalerweise wissen sollte was ich da gebaut habe, aber in dem Fall muss ich besoffen oder breit gewesen sein -.- )
Ferner sollte erwähnt werden das der Connector nicht über die SessionClass läuft sondern ein komplett eigenständiger Thread ist (ähnlich wie der Listener auch).
Was sich aus Perfomancegründen so ergeben hatte...

Werd das bei Gelegenheit mal ein bisschen näher betrachten, hat aber bisher keinen Einfluss auf die Funktionalität so das die Priorität erstmal bei anderen Sachen höher gestellt ist.
Wenn ich mal Lust und Laune hab, werd ich eh nochmal das Design des ConnectorSystems überarbeiten

NACHTRAG:
Bedingt durch das asyncrone Socketdesign für die Listener und Connectoren ist mir aufgefallen das man in einem ganz ungünstigen Fall ein Lag von knapp 75ms haben kann.
Das ganze kommt daher zu stande weil ich für den Listener 10ms, den Updater 5ms und den Connectoren auch 10ms Intervalle zugeteilt habe.
Nun hat die Node selbst auch noch knapp 50ms Up-Intervall und das läppert sich wenn man Pech hat.

Jetzt versuche ich im Logon eine Config von 5ms - 8ms - 5ms.

Versuch geglückt, nun ist das Timing vertretbar.

NACHTRAG II:
Nach ein paar anderen Spielereien innerhalb des Serverfuhrparks und ein paar kleineren Fixxes am LogonServer (die leider auftraten waren weil ich vergessen hatte ein paar Sachen zu löschen) läuft das System wieder voll durch.

Allerdings beruhigt es mich zu wissen, das wie auch im Test auf dem Dev-Server kein DC kommt, wenn die Node down ist.
Kommt einen halt wie ein großer Lag vor und dann gehts auch schon weiter xD

Das heißt für mich ich kann mich nun damit befassen wie ich die XYZ-Coods in Grids ausrechne, um den ChatServer ein neues Zuhause geben zu können.

Wenn jemand Infos zum GridSystem hat, so kann er sie gerne posten... Wenn nicht auch nicht schlimm
Kent_Brockman is offline  
Old   #21
 
elite*gold: 0
Join Date: Mar 2011
Posts: 529
Received Thanks: 198
Lang wars nun ruhig und es hat sich einiges getan.

Der LogonServer ist nun mit seinen Grundfähigkeiten im Live-Betrieb, naja es sind aktuell nicht viele Fähigkeiten, weil mich das Grunddesign doch mehr beschäftigt hatte als geplant (und ich zwischenzeitlich auch die Lust verloren hatte), aber hier die ganze Storry :P

Yumi hat nun schon seit längerem ausgedient und wurde nun durch Caroline ersetzt.
Der LogonServer wurde teilweise von ihr übernommen, sowie auch der größte Teil des Designs des Systems.
Weil nun die Core auf dem Hauptserver läuft und ich im Notfall umschalten muss, hab ich nun konsequent das hybride Design der Node weiterverfolgt.

Damit kann ich die Nodes als Verbund oder komplett allein anfahren.

Der größte Teil wurde aber im LogonServer geändert...
Das alte MT-Update-Design hatte sich bei vielen Spielern auf dem LogonServer als verdammt schwerfällig herausgestellt, also hab ich mal den Kram komplett umgestaltet.
Leider ist daraufhin auch der SingleThread-Modus weggefallen. Gut der wird auch nicht gebraucht, wenn man richtig Daten schubsen will.

Jetzt ist der LogonServer intern in 5 Teile gesplittet worden:
ClientSockets - Sessions - NodeSockets laufen nun asyncron zum MutterThread.
Die ControlPorts und dessen "Sessions" laufen nun alle Syncron zum MutterThread.
Letzterer wird gebraucht um bei einem Startup einer Node diese ins System wieder einzugliedern, durch diesen werden nun auch einige SteuerCommands versendet um die Nodes vom LogonServer steuern zu können.
Das wurde beim Rebase wichtig, denn hier müssen die Nodes 2x Restartet werden.
Die Sessions werden bei dem Vorgang gestoppt und anschließend wieder aktiviert.

Technisch braucht man den eigentlichen Server nur noch runterfahren, wenn man direkte Updates am LogonServer vornimmt.

Nun gut, bisher läuft die Kiste stabil bei rund 600 Spielern auf 2:4 Threads.
D.h. ich hab immer doppelt so viele SessionThreads eröffnet wie an SocketThreads laufen. Das scheint nun guter Wert zu sein, jedoch ists nicht Endgültig.

Netterweise hab ich um den Traffic von Logon/Node zu verringern einen Cache in den LogonServer gepackt um dort einige Templates zu speichern.
Technisch gesehen macht er nix weiteres als sich die Daten von der World zu ziehen und dem Spieler zurück zu geben.
Leider kann es vorkommen, dass wenn man Custom-Items auf einer anderen Node verwendet, diese nicht unbedingt in der HauptDB zu finden sind.
Das ist aber nicht tragisch, denn hier kann der LogonServer einfach die Abfrage zur Node leiten, diese schickt alles zurück und nun kennen Client und LogonServer die Templates

Soviel zum Stand bisher (mal ausgenommen der Realmpool Sache die nun Teilweise eingebaut aber noch nicht fertiggestellt ist).

Ach das wichtigste hab ich ja vergessen:
Das Teil kann HardRouting und ist somit in der Lage Spieler einfach auf andere Nodes zu verfrachten.
Aktuell ist es nur ein passives System, d.h. die Node sendet ein Command welcher den LogonServer veranlasst ein Routing auszuführen.

Nun schreib ich grad die Global-Channels in den LogonServer die Locals/Statics bleiben nun wo sie sind, warum sollte man sich auch mehr Mühe machen als man muss...
Kent_Brockman is offline  
Old   #22
 
elite*gold: 2703
Join Date: Jul 2010
Posts: 6,450
Received Thanks: 1,232
Lang warst du nicht da und du solltest gefeiert werden. :P

Hört sich alles sehr Interessant an, gern les ich weitere Fortschritte über deinen Server
°"Crazy"° is offline  
Old   #23
 
elite*gold: 0
Join Date: Mar 2011
Posts: 529
Received Thanks: 198
Und die gibts nun auch
Ich hab schonmal grob die GlobalChannels eingebaut und einige Umbaumaßnahmen unternehmen müssen, damit der Global in CoExistenz mit Locals leben kann :P

ATM gehts nun an kleinere Anpassungen und dann fliegt auch das aufm Dev->High->Live.

Wenn das geregelt ist kommen die Whispers und GildenChannels rüber. Dannach kümmere ich mich ums aktive Routen.

Bisher hält die Kiste bei ~670 Spielern ohne Probleme stand und dabei ist der logonserver noch nichtmal im mittleren Arbeitsbereich gefahren, sondern pennt grad nur...

EDIT: Channels sind drüben. Werds heute Abend mal aufm Dev von mir klatschen xD
Oh und ganz böse Falle, wenn man Listen baut und diese von vielen Threads anlaufen lässt, so sollte man unbedingt nen Mutex schmeißen (zumindest an den wichtigsten Stellen).
Kent_Brockman is offline  
Old   #24
 
elite*gold: 0
Join Date: Aug 2010
Posts: 142
Received Thanks: 29
Es macht wahnsinnig Spaß dir zu folgen und deine Arbeitsprotokolle zu lesen. Ich hoffe es geht weiter so und wünsche dir viel Glück und vor allem Durchhaltevermögen.
nixeee is offline  
Old   #25
 
elite*gold: 0
Join Date: Mar 2011
Posts: 529
Received Thanks: 198
So nun isses soweit, wir machen grad den ersten Raid auf dem Cluster
Denke mal ich werd die compilierte Core bei Gelegenheit mal hochladen, damit man sich ein wenig auf dem Teil austoben kann.
Kent_Brockman is offline  
Old   #26

 
elite*gold: 5
Join Date: May 2012
Posts: 460
Received Thanks: 44
Ich weis nun wer du bist Kent_Brockmann !!! Du bist jemand von Lenalith, einer der besten Developer mit im Team, du bist auch sehr gut unter anderem Namen in MMONERDS bekannt

Wir hatten glaube ich mal nachts das vergnügen uns im TS zu besprechen wa Alleine das du das Wort Cluster erwähnst. Ich kenne nur einen der in der Lage ist einen Ähnlichen Cluster auf zu bauen wie der von Blizzard, Zudem läuft dein Projekt ja auch als Debug Server Sollte ich mich irren, korrigiere mich!!!

Edit... Ich glaube du bist booksize
Shøxxø is offline  
Old   #27
 
elite*gold: 0
Join Date: Mar 2011
Posts: 529
Received Thanks: 198
Es läuft aktuell auf dem Live-Server und das schon länger xDD
Musste halt nur noch ne Lib auswechseln, JeMalloc war halt zu lahm für den LogonServer....

TANTE-EDIT: Die Sockets mussten auch nochmal etwas neu designed werden, das alte Design war zu schlecht für solche Geschwindigkeiten -.-

So habs mal geupped und ne kleine Anleitung dazu geschrieben, damit man sich nen kleinen Eindruck verschaffen kann, was das Teil kann.
Hier gibts die Core
Kent_Brockman is offline  
Old   #28
 
elite*gold: 0
Join Date: Jun 2012
Posts: 2
Received Thanks: 0
Sehr cooles Projekt, schonmal großen Respekt dafür

Ich werde es auch verfolgen, und finde es cool, dass sich jemand um solche Probleme Gedanken macht.

greetz
mamm0th is offline  
Old   #29
 
elite*gold: 0
Join Date: Mar 2011
Posts: 529
Received Thanks: 198
Nachdem ich das Gruppensystem etwas analysiert habe, weil dieses zum Teil besser im LogonServer aufgehoben ist, bin ich ganz massiv über das SocialSystem gestolpert.
Dieses wird unglücklicherweise von fast allen Routinen, die mit Interaktion der Spieler untereinander zu tun haben angesprochen.

Folglicherweise musste dieses System mit in den LogonServer umziehen, um so global verfügbar zu sein.
Also hab ich gestern mal ein wenig das SocialSystem und weil grad so schön passte gleich auch die Whispers in den LogonServer eingebaut.

Damit aber nun keine doppelten Meldungen kommen, war es notwendig die Präprozessor-Karte auszuspielen, denn für die kleine Hybrid-Core jedes mal ne neue Routine oder Abfragen zu schreiben ist nicht sehr performant


EDIT:

Hier einmal ein kleines Video zu der Core, damit man sich einen kleinen Überblick verschaffen kann, was die Core bisher so macht.


Ist zwar nicht alles was sie kann, aber der gröbste Teil
Kent_Brockman is offline  
Old   #30
Frosty the Snowman

 
elite*gold: 55
Join Date: Oct 2009
Posts: 5,281
Received Thanks: 1,440
Wow... Wirklich.. WOW!

Was du da auf die Beine gestellt hast ist echt geil, weiter so!


Frosttall is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
[Release] TrinityCore 3.3.5a
TrinityCore 3.3.5a UltraCore2 Revision Build 8941 Hallo liebe Community! Ich poste euch hier die neuste Trinity Core für die Version...
34 Replies - WoW PServer Hosting
Patch für TrinityCore!
schon erledigt danke! ^^
0 Replies - WoW Private Server
Frage zu den Realmpools
Hey. Kann mir jemand sagen wo ich nachschaun kann auf welche realmpool wenig horde vorhanden is da ich zur zeit auf onyxia spiele und mir die...
2 Replies - WoW Main - Discussions / Questions
WoW -Trinitycore ArenaAddicts
An arena server run by an awesome owner and Dev's. We just started, but this server is going far, trust me. Pvp/Arena server with a pvp system with...
2 Replies - Private Server - Discussions / Questions
Fragen zu TrinityCore
Heyho ich hab da mal paar fragen -wie erstelle ic hda ei naccoutn bzw brauch ich nen md5 hash? -was ist der acceslevel von Admin ,gm ,user usw...
1 Replies - WoW PServer Hosting



All times are GMT +1. The time now is 23:13.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.