-
Posts
217 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by kuba90
-
Den nomizo giati ego to diko mou pack to trexo sto pc me 384 mb ram :) Den kano plaka. Opote ta 512 mb pou ixes einai arketa gia na ekkinisi o server ( oxi gia na mpoun pektes ).
-
Bale 2048m kai ksanaela :) An kai pisteyo kati allo fteei tha to doume. Des prota ayto kai blepoume.
-
[Help - Support] DownServer By hackers.
kuba90 replied to Zian's question in Request Server Development Help [Greek]
to leo gia teleytea fora : 1)Exei proxy. 2)Den iparxoun logs ( stacktrace ). Merikoi sinexizoun to makri kai to konto tous edo pantos ... Diladi eleos toso spam ?? Diabaste prota ti grafei to paidi sto post tou kai meta peite tis malakies sas. To exei pei 2 fores mexri tora oti den iparxoun logs alelujia .... -
[Help - Support] DownServer By hackers.
kuba90 replied to Zian's question in Request Server Development Help [Greek]
Zian min akous kanenan apo aytous se ayto to topic, einai noobades kai den kseroun. Eikasies kanoun o kathenas apo to ti exei akousei apo pseftohackeries. O monos tropos sou eipa einai na markareis ton kodika kai na deite pou kolaei o selector an einai o selector. O selector stin ousia einai ena thread to opio ekteleite ep apeiron mesa se mia loopa kai diabazei apo ta diafora channels ta opia sindeoun kathe client me ton server. An gia kapio logo figei ekso apo tin loopa tote tha stamatisei to thread kathos feygei ekso apo tin run(). -
[Help - Support] DownServer By hackers.
kuba90 replied to Zian's question in Request Server Development Help [Greek]
Skeytikame na baloume system.out.println se keria simia tou monopatiou tou login na doume pou stamataei. Ekei pou tha stamatisei , ekei tha einai to exploit ;) Diladi sto GameServerThread apo ti stigmi pou lambanei ena request mexri na teleiosei kai na perasei ton char ston server. Kapou ekei mesa kolaei. Den thelo na po pithana onomata pioi einai piso apo ayto. Xtipane megalous highrate servers ( l2dubai px ) kai an ipothesoume oti elaxistoi devs kseroun pos akribos douleyei to sistima tou mmocore kai ton selector threads tote sigoura ( den ksero gia esas ) alla ego mirizome pios einai piso apo tin fasi oli :) Den thelo na po onomata, giati den exo stoixia, alla ksero apo to parelthon dio megala "onomata" tou l2j pou apodixtikan oti itan sketi mafia se tetia themata :) O hacker aytos mpenei me proxy. Opote ip ban den kanei doulia. Otan ixa ton relapse, me proxy empenan kai mou ekanan zimies o owner tou l2dreams episis. I kaliteri lisi mexri na breis to problima kai na to ftiakseis einai : 1)Ban ola ta account tou hacker. 2)Lock to registration system. 3)Prosefxese min hackarei kapio account kai ksanampei :) Btw den exei kai stacktrace to exploit ayto pou kanei ta pragmata pio diskola. Pantos na min koroideyomaste, tetia pragmata den ta kanei o klasikos admin pou exei dei l2pcinstance kai scripts. ayta ta kanoun tipades pou exoun polles gnoseis. -
[Help - Support] DownServer By hackers.
kuba90 replied to Zian's question in Request Server Development Help [Greek]
Gia pio server milame ? kane me add msn giati apo to proi prospatho na ton piaso ayton ton hacker. Den einai mono o dikos sas server pou ipoferei. O hacker einai ksenos den einai ellinas kai milousa me seketh to proi, exoume skeytei ena tropo na broume to exploit kai na ton stamatisoume. PS kati pezei me to gameserverthread ( xoris na eimai apolitos sigouros ) i kapio unhandled exception einai , i kapia klisi se blocking mode. Ena apo ta dio. Kane me add msn kuba90ssj@hotmail.com -
Τρίτο Μάθημα: An Inside look into garbage collector. / 20 λεπτά. -->Τί υπάρχει στα δύο τμήματα της μνήμης ? Στο τμήμα Young θέλουμε να έχουμε αντικείμενα μικρής ζωής. Για παράδειγμα, ένα NpcHtmlMessage έχει μικρή ζωή. Δημιουργείται , εκτελεί την αποστολή του κλασικού HTML παραθύρου στον χρήστη και μετά δεν χρησιμοποιείτε. Δηλαδή είναι παροδικό αντικείμενο. Στο τμήμα Tenured έχουμε αντικείμενα που έχουν μεγάλη διάρκεια ζωής. PX SpawnTable. To SpawnTable κρατά όλα τα spawns και υπάρχει μέχρι το τέλος του server. -->Πώς λειτουργούν αυτά τα δύο τμήματα ? Αρχικά όταν δημιουργείτε ένα αντικείμενο γίνεται add στο Young Generation. Αν το αντικείμενο παύει να χρειάζεται (PX NPCHtmlMessage, character που κάνει logout ) τότε παραμένει στο Young. Αν μετά από κάποιο χρονικό διάστημα ( που θα δούμε παρακάτω ) το αντικείμενο χρειάζεται ακόμα ( πχ ένας καμμένος παίκτης που παίζει 10 ώρες την ημέρα ) τοτε μετακινείται στο Tenured τμήμα. -->Πώς δουλέυει o Garbage Collector ? Πώς γίνεται η μετακίνηση από το Young στο Tenured ? Όπως είπαμε πριν, η μνήμη είναι χωρισμένη σε 2 τμήματα. Το Young και το Tenured. Το ίδιο συμβαίνει και με τον Garbage Collector. Υπάρχουν στην ουσία δύο συλλέκτες. Ένας συλλέκτης για το Tenured και ένας για το Young. Ο συλλέκτης για το Young είναι πολύ πιο γρήγορος από τον συλλέκτη για το Tenured. Κάθε φορά που γεμίζει το Young αφού εκεί πρωτοβάζουμε τα αντικείμενα, τότε εκτελείτε ο Young Collector. Διαβάζει το Young τμήμα και διαγράφει όσα αντικείμενα δεν χρειάζονται ( παίκτες που έκαναν logout, πακέτα που στάλθηκαν κτλ κτλ ). Αν κάποιο αντικείμενο χρειάζεται το κρατάει και μετά απο κάποιο αριθμό εκτελέσεων αν δεί οτι το αντικείμενο χρειάζεται συννέχεια ( ο επίμονος καμμένος παίκτης που λέγαμε ... ) τότε το μεταφέρει στο Tenured. Όταν ο παίκτης αποφασίσει να κάνει logout ενώ βρίσκεται στο Tenured το αντικείμενο του παραμένει στο Tenured . Σιγά σιγά το Tenured γεμίζει γιατί ο Young Collector βλέπει αντικείμενα που δεν καταστρέφονται γρήγορα. Όταν το Tenured γεμίσει επίσης τότε εκτελείτε ο Tenured Collector. O Tenured Collector είναι αργός, βαρής και διαβάζει όλη την μνήμη για να κάνει χώρο διαγράφοντας αντικείμενα που δεν χρειάζονται. Σε έναν άδειο server ο Tenured Collector ( ή αλλιώς Full Garbage Collector = Full GC ) κάνει για ένα κανονικό home μηχάνημα περίπου 1 sec για να καθαρίσει την μνήμη. Αυτό σημένει οτι για 1 sec ο server παγώνει. Είναι το lag pου καταλαβαίνεις μερικές φορές για λίγο όταν παγώνουν όλα και μετα από λίγο ξεπαγώνουν. Σε μεγάλους server με πολλούς παίκτες ο Full GC κάνει αρκετά μεγαλύτερη συλλογή άρα λαγγάρει περισσότερο. Σύνοψη: H διαδικασία GC στην ουσία αποτελείτε από πολλά Young Collections που διαρκούν λίγο ( milliseconds ) τα οποία καθαρίζουν μόνο το Young τμήμα και μεταφέρουν στο Tenured αντικείμενα που δέν μπορούν να καθαριστούν ( noobs που δεν λένε να κάνουν logout ... ). Όταν χωθεί πολύ πράμα στον Tenured τότε ξεκινά η Full GC διαδικασία που είναι βαριά, αργή και σου ***** τον server sto lag :) Στο επομενο post θα δούμε κάποιους παράγοντες ποιότητας καλής συλλογής , και πώς μπορούμε να τους πετύχουμε με βάση τον Server μας ( Specs, pack , online count , pvp server , farm server ... ).
-
Μάθημα Δεύτερo: Garbage Collector / 15 λεπτά. --> Πώς χωρίζεται η μνήμη του Server μου (χωρίς πολλές λεπτομέριες) ? Η μνήμη που δώσαμε στον server στον προηγούμενο Guide χωρίζεται σε δύο τμήματα που ονομάζονται Young και Tenured Generation. Δηλαδή άν έχουμε δώσει 1 GB τότε ένα μέρος του ονομάζεται Young Generation και ένα άλλο Tenured Generation. To γιατί χωρίζεται έτσι η μνήμη θα αναλυθεί παρακάτω. Το τί ποσοστό μνήμης γίνεται Young και τί ποσοστό Tenured μπορεί να ρυθμιστεί. Η βασική τιμή που έχει αν θυμάμαι καλά είναι 40 - 60 αντίστοιχα. --> Πώς ρυθμίζω τον χωρισμό της μνήμης ? Με την εντολή -XX:NewRatio=M, όπου Μ αριθμός. Ο αριθμός αυτός δηλώνει τον λόγο Tenured προς Young. Για παράδειγμα άν έχουμε 1GB και -XX:NewRatio=10, αυτό μας λέει οτι το Tenured ποσοστό είναι 10 φορές μεγαλύτερο από το Young. Young + Tenured = 1 GB. Tenured = 10*Young. Υπάρχει και ένας δεύτερος τρόπος τον οποίο δεν θα χρησιμοποιήσουμε στον οδηγό αυτό ( Για όσους ενδιαφέρονται δείτε Xmn ). --> Μόνο αυτά τα δύο κομάτια έχει η μνήμη ? Όχι. Υπάρχουν και τμήματα για διαφορετικές λειτουργείες αλλά δεν περιλαμβάνονται στον οδηγό γιατί δεν επιρεάζουν και γιατί είναι σχετικά μικρά. Για αυτό το λόγο και οι εξισώσεις παραπάνω έχουν καλή προσέγγιση. Άσκηση: Υλολογίστε τις τιμές των Young και Tenured Generations για την παρακάτω εντολή εκκίνησης του Server : -Xms1024m -Xmx1024m -XX:NewRatio=7 Λύση: Young + Tenured = 1 GB = 1024 mb ( προσεγγιστικά γιατί υπάρχουν και άλλα τμήματα μνήμης. ) Tenured = 7* Young. Αντικατάσταση: Young + 7 Young = 1024 Young = 1024/8 Young = 128mb και Tenured = 896mb
-
Σας κέντρισα το ενδιαφέρον ? Αν ναί πάμε καλά ( γιατί με όσα ακολουθήσουν ίσως βαρεθείτε οι περισσότεροι ). Αν όχι , never mind. Ο οδηγός αυτός αποτελείτε από πολλά μέρη ( δεν εχω αποφασίσει ακόμα πόσα γιατί δεν τον έχω γράψει κάν ). Τον γράφω παράλληλα καθώς διαβάζω ένα βιβλίο για Garbage Collection. Μάθημα Πρώτο: Εισαγωγή / Διάρκεια 15- 20 λεπτά. --> Garbage Collection, τί είναι αυτό ? Συλλογή σκουπιδιών ... στην Java. Όταν ο server σας τρέχει δημιουργούνται συνεχώς αντικείμενα στην μνήμη για την σωστή λειτουργεία του server. Ας υποθέσουμε οτι έχουμε έναν παίκτη και ας τον ονομάσουμε daggerakosGR ( what a noob ... ). Οταν ο DaggerakosGR κάνει login δημουργείται το αντικείμενο που αντιπροσωπεύει τον παίκτη ( L2PcInstance ) μαζί με όλες τις απαραίτητες πληροφορίες που χρειάζονται ( Skills, μπλά μπλά μπλα ). Όταν ο παίκτης αποφασίσει να κάνει logout ( μάλλον γιατί φωνάζει η μαμά "ύπνο τώρα ! " ) το αντικείμενο του παίκτη πρέπει να καταστραφεί επίσης για να μήν γεμίσει η μνήμη. Την δουλειά αυτή ( Garbage Collection ) την αναλαμβάνει ο Garbage Collector μία υπομονάδα της μηχανής της java που κάνει αυτή ακριβώς την δουλειά. Καταστρέφει αντικείμενα που δεν χρησιμοποιούνται. --> Τί αντικείμενα χρησιμοποιούνται από έναν παίκτη ? Διάφορα. Για παράδειγμα τα Skills του DaggerakosGR δημιουργούνται όταν επιλέξει το κατάλληλο Subclass και καταστρέφονται όταν αλλάξει Subclass ή κάνει Logout. Επίσης, κάθε ενέργεια που κάνει ο χρήστης δημιουργεί συνήθως αντικείμενα. Για παράδειγμα όταν ο χρήστης μετακινεί τον χαρακτήρα του δημιουργεί ένα αντικείμενο το οποίο χρησιμοποιείται για να ενημερώσου τους άλλους παίκτες οτι ο χρήστης κινείτε. Επίσης , όταν κάνει Summon ή όταν κάνει pickup ένα item. --> Και γιατί πρέπει αυτά τα αντικείμενα να εξαφανίζονται όταν δεν χρησιμοποιούνται ? Γιατί δεν έχεις 99999999999 GB ram :) ( Εκτός άν έχεις και δεν το γνωρίζουμε ... :) Μια φορά κάποιος στο MSN μου είπε οτι έχει server με 32 GB ram ... λολ). --> Που χρειάζεται ο Guide αυτός ? Ο Garbage Collector δεν λειτουργεί πάντα αποδοτικά σε όλες της εφαρμογές. Άν έχεις μεγάλο server με πολύ κόσμο σίγουρα χρειάζεσαι να ρυθμίσεις τον Garbage Collector. Άν πάλι είσαι Proud "Home-Server" Owner θα επιθυμείς να έχεις αρκετό κόσμο online χωρίς να laggarei ο server. --> Πώς λειτουργεί η μνήμη της Java και του Server μου ? Όταν εκκινεί ο Server αρχικά η java δεσμεύει ένα τμήμα της RAM ( πχ 1 gb ) για να βάλει εκεί τα monsters, τα items κτλ κτλ. Δηλαδή αρχιζει και φορτώνει απο την MySQL τα διάφορα δεδομένα στην μνήμη. Αυτό γιατί η μνήμη RAM είναι πιο γρήγορη από τον δίσκο στον οποίο βρίσκονται τα δεδομένα. Άρα τα φέρνουμε στην RAM. Επίσεις στην RAM αποθηκεύει η java και διάφορα αντικείμενα κατάστασης ώστε να κρατάει πληροφορίες όπως Reuse Delay κτλ κτλ κτλ. Πρακτικά, αν όχι όλα, τα περισσότερα δεδομένα του server βρίσκονται στην RAM όταν ο server τρέχει. Είπαμε οτι δεσμέυσαμε αρχικά 1 GB από τη RAM. Τί γίνεται αν δεν είναι αρκετό ? Αν δεν είναι αρκετό η Java μεγαλώνει το τμήμα αυτό ώστε να μπορεί να κρατά όλα τα δεδομένα του server. Εώς πότε το μεγαλώνει ? Μέχρι να φτάσει μια μέγιστη τιμή που έχουμε ορίσει εμείς. Η αρχική μνήμη και η μέγιστη μνήμη ορίζονται από τον Admin /Developer με τις παραμέτρους: 1)Για την αρχική μνήμη : -Xms, Παράδειγμα : Xms512m δίνει 512mb στον server όταν ξεκινάει για να βάλει εκεί δεδομένα. 2)Για την μέγιστη τιμή: - Xmx, Παράδειγμα : Xmx1024m δίνει 1024 μέγιστο. Η μνήμη αυτή θα δεσμευτεί μόνο άν γεμίσει η αρχική τιμή ( 512 ). Άσκηση: Για την λειτουργία του Server του ένας Admin (Server me 50 online ας πούμε ... ) ζήτησε βοήθεια απο 3 Developers. Ο καθένας του έδωσε μία από τις παρακάτω ρυθμίσεις: Developer 1): -Xms12m -Xmx32m Developer 2): -Xms1024m -Xmx512m Developer 3): -Xms512m -Xmx1024m Ποιός Developer κατα τη γνώμη σας έδωσε την καλύτερη τιμή αλλά και σωστή τιμή ? και γιατί ? Λύση: Ο Developer 1 έδωσε σωστές τιμές αλλά πολύ μικρες για server. Ο Developer 2 έδωσε αρχική μνήμη περισσότερη από την μέγιστη μνήμη που είναι λάνθασμένη ρύθμιση. Ο Developer 3 έδωσε αρχική μνήμη 512mb που είναι καλή τιμή και μέγιστη σε περίπτωση που η αρχική γεμίσει 1024mb. Άρα ο Developer 3 έδωσε τις σωστές τιμές.
-
Why ? Dont you like to hear the truth ? Is it too heavy for your ears ? :)
-
There is a limmit to money scam. But those guys, have crossed it as it seems :) Asking for 320 dollars before the server even opens ... So where are the noobs now saying that l2paradise and its admins are great ?
-
It will get 500-600 ppl at grand opening. It will peak at 900 during the first week, and it will die 2 weeks later. Average lifespawn barelly 1 month. Thats from someone who got 200 dollars betting on how fast l2survival ( first one ) would close. :). I can go on explaining the reasons why such servers are "bubbles" with high starting population and 1 month life spawn only, but its not really interesting as noobs will keep on playing "bubble" servers.
-
Quote of the day :) Pyromaker and Vim are not even developers. They dont know any programming language let aside their bad reputation as money-hungry admins ( pyromaker especially ). PS: UnEffect and Willowy you are stupid noobs , wont bother commenting you :)
-
The attitude ;) PS: Why did i have the feeling that oracle was not cheap/free ? ???
-
Relax David Copperfield :) We gotta keep a good discussion about garbage collector tunning in here, ill post some info and some questions i have later on. Its an interesting topic :) (On the meanwhile reading Java performance tunning 2nd edition, so as not to say anything stupid online :) ). I feel it would be cool to create an advanced guide on performance tunning ( not necessarily only GC ) that will give a way so as ppl can know what to tune while taking into account their machine setup their population count etc. More later :)
-
The dataflow calculation isnt an easy matter, so stick with experimental values from the guys above. Keep in mind the dataflow is not a linear function of the player count. If 200 players need X GB, then 400 wont need 2X but much more. Other factors that affect it is custom codes that you implemented and need to send packets. The datacenter needs the bandwidth of the user cause they rent network lines from ISP not based on the line capacity but based on the bandwidth they use in these lines. ISP's rent bandwidth as their objective is to keep good QoS for their customers. MySQL wont affect the dataflow, if it is in the same server as gameserver/loginserver. Garbage collection wont either. Dunno why you posted those ...
-
Thats the unique feature :o ? Tweaking songs dances to have a different duration ... thats unique.
-
[HELP] Pws tha peraso auto java code..
kuba90 replied to caramel's question in Request Server Development Help [Greek]
Ego proteino na stamatiseis na asxolise me server developing. An den mporeis na peraseis oute ayto ... ti thes kai asxolise ? Enas aplos handler einai . -
The server is a complete garbage, along with its admin PyroMaker. People that cant code shit, develop other skills to attract ppl, which usually is propaganda and manipulation. PyroMaker has shown multiple times, that his servers are a 1-2 month attempt to collect some money. Then he finds a cheap excuse to close, dissappears for half a year and then comes back with another 1-2 month server to get donations and to dissappear again. There are people living from idiots ( like most of you in this forum ) , who jump in every stupid server opening for no apparent reason without doing any judgement. The server has nothing unique. Its just a normal 35x zone server like sublimity , dismay, vendeta, survival, forever bla bla bla. He will open get some 700 ppl online for 1-2 months, the stupid ones will donate, once he gets the money the server closes. He did it already two times, he will do it again and again and again, as long as idiots like you go and play in his server. What he gets ? Lots of money. What you get ? Probably balls on chin ...
