RєVєnGeR^ Posted December 11, 2009 Share Posted December 11, 2009 Χαιρετώσας αγαπητά μέλη του maxcheaters , σε αυτό το τόπικ (ο θεός να το κάνει , πάλι θα μου βγούν τα δάχτυλα απο το pc .. ΔΕ ΓΑΜΙΕΤΑΙ μωρέ) θα δούμε τσακ μπάμ πώς κάνουμε ένα L2J σερβερ και πώς στη συνέχεια αν θέλουμε δουλεύουμε στην JAVA , αλλά θα δούμαι και άλλο χρήσιμο υλικό! Αρχικά προγράμματα Αυτά είναι τα προγράμματα τα οποία θα χρησιμοποιήσουμε ώστε να λειτουργήσει ο σέρβερ μας .. MySQL 5.1 Αυτό το πρόγραμμα βοηθαέι στην database JavaJDK *θα χρειαστέι να κατεβάσετε και το JavaJRE (πολύ απλά βρείτε τα στο σαιτ) Νavicat for MySQL Εδώ θα μπορείτε να δείτε την database , με αυτό το πρόγραμμα Ιnstalling our new software - Βάζωντας τα προγράμματα μας! 1)JavaJDK - Είναι πολύ απλό , κατεβάζουμε το πρόγραμμα μας και μετά το τρέχουμε για install κανονικότατα , οταν μας βγάλει κάποια κουτάκια επιλέγουμαι development tools και περιμένουμε να τελειώσει , READY 2)MySQL 5.1 - Εδώ θέλουμαι λίγη προσοχή , κατεβάζουμαι το πρόγραμμα και τρέχουμαι τον Installer κανονικά , αρχίζουμαι : 1)Νext 2)Complete 3)Install 4)Next 5)Next 6)Finish (έχουμε τικαρισμένο το κουτάκι που μας εμφανίζεται μέσα στον installer 7)Next 8)Reconfigure Istance 9)Standar Configuration 10)Next (tick - Install as windows service) 11)Επιλέγουμε modify security setings και βάζουμε User και pass 12)Εxecute Aν τώρα όλα τα κουτάκια βγούνε με μπλέ τικ πάει να πεί οτι τα πάμε περίφημα !! 3)Νavicat - Απλό Ιnstall , το τρέχουμαι και το κάνουμαι Install πολύ απλά , όταν τελειώσει (ΔΩΣΤΕ ΒΑΣΗ ΕΔΩ) το ανοίγουμε και πάμε πάνω αριστερά που λέει new connection , δίνουμαι στο πάνω κουτάκι - localhost και στο απο κάτω l2jdb *αν έχουμε βάλει κοδικό στο MySql τον εισάγουμε και εδώ ! Συγχαρητήρια , Τα πάμε πολύ καλά Τα αρχεία του server Αρχίζοντας πρέπει να κατεβάσουμε ένα server pack , θα σας δόσω ένα INTERLUDE Κλικ Να σας πω οτί δε σας συνιστώ να τρέξετε τον σέρβερ σας με preconfigured pack γιατι δεν θα μπορείτε να δουλέψεται java , θα δούμε παρακάτω! Κάνουμε extract to pack στο C:/ πάμε login > configs > και ανοίγουμε loginserver.properties βρητε το Login=root password= και κάντε το Login=root password=root σάβε και κλείσιμο , μετά πάμε gameserver > configs > server.properties , Αν ο σέρβερ μας θέλουμαι να είναι Public για όλους -> GameserverHostname=* and replace * with your ip Αν θέλουμε να είναι LAN -> GameserverHostname=* and replace * with your 127.0.0.1 Μετά βρίσκουμε Login=root Password = Και το κάνουμε όπως προηγουμένος Login=root Password=root Βρήτε AcceptAlternateID = True και το κάνουμε FALSE Tώρα , πάμε πίσω ανοίγουμε τον φάκελο τοοls και βρίσκουμε το database_installer.bat > δεξί κλικ και επεξεργασία Βρείτε REM LOGINSERVER set lsuser=root set lspass= set lsdb=l2jdb set lshost=localhost REM GAMESERVER set gsuser=root set gspass= set gsdb=l2jdb set gshost=localhost Και κάντε τα REM LOGINSERVER set lsuser=root set lspass=root set lsdb=l2jdb set lshost=localhost REM GAMESERVER set gsuser=root set gspass=root set gsdb=l2jdb set gshost=localhost save και κλείσιμο ! Τρέχουμε την Database_installer και , 1)Press F 2)Press F πάλι 3)Press N Πάμε πίσω , ανοίγουμε login *φάκελο* και τρέχουμε RegisterGameServer.bat Θα σας πει αυτό Your choice: type 1 and press enter. *η κάτι παρόμοιο* Πατάμε "1" και τώρα στο φάκελο έχει δημιουργηθεί ένα αρχείο hexid(server 1).txt και το μετονομάζουμε σε hexid.txt και αντιγραφή/επικόληση στον φάκελο gameserver > config Ανοίγουμε τον server μας μέσω L2J Pack Νοn-Preconfigured Λοιπόν Λοιπόν , πολλοί από εσάς θα έχουν αυτή την απορία όπως εξάλου και εγώ την είχα , τα πράγματα είναι απλά .. Να θυμάστε ότι πάντα μιλάμε για Final Server . Αρχίζουμε : Θα χρειαστούμε το eclipse : Τώρα , το κάνουμε Install και μετά πάμε Help > Install Software Ύστερα βάλτε αυτό το link http://subclipse.tigris.org/update_1.4.x στο κενό στο κουτάκι που θα σας βγεί Όταν τελειώσει πάμε window > Preferences Μετά ανοίξτε το κουτάκι java και μετά το javaJres Kάνουμε search στα αρχεία εφαρμογών το Java και επιλέγουμε το jdk (καλύτερα το τελευταίο δυνατόν version) , Μετά πατάμε Okay στο κουτάκι .. Πάμε τώρα στο window και βρίσκουμε το show view και μετά Other.. Kαι τώρα πάμε SVN και μετά Svn repositories , τώρα ακολουθήστε τις παρακάτο foto (τραβηγμένες απο το pc μου , για να δείτε πως θα κάνετε το pack σας!) Kαι τώρα πρέιπει να κάνετε Compile θα σας δόσω link απο το video του ΕxtremeDwarf το οποίο θα σας λύσει τα χέρια , εδώ πείτε του ένα μεγάλο thanks! Και τώρα πάμε ν κάνουμε ότι και πριν .. Κάνουμε Download and Install MySql 5.1 || Navicat Την java πρέπει να την έχετε ήδη !! MySQL 5.1 - Εδώ θέλουμαι λίγη προσοχή , κατεβάζουμαι το πρόγραμμα και τρέχουμαι τον Installer κανονικά , αρχίζουμαι : 1)Νext 2)Complete 3)Install 4)Next 5)Next 6)Finish (έχουμε τικαρισμένο το κουτάκι που μας εμφανίζεται μέσα στον installer 7)Next 8)Reconfigure Istance 9)Standar Configuration 10)Next (tick - Install as windows service) 11)Επιλέγουμε modify security setings και βάζουμε User και pass 12)Εxecute Aν τώρα όλα τα κουτάκια βγούνε με μπλέ τικ πάει να πεί οτι τα πάμε περίφημα !! 3)Νavicat - Απλό Ιnstall , το τρέχουμαι και το κάνουμαι Install πολύ απλά , όταν τελειώσει (ΔΩΣΤΕ ΒΑΣΗ ΕΔΩ) το ανοίγουμε και πάμε πάνω αριστερά που λέει new connection , δίνουμαι στο πάνω κουτάκι - localhost και στο απο κάτω l2jdb *αν έχουμε βάλει κοδικό στο MySql τον εισάγουμε και εδώ ! Και μετά πάμε στα αρχεία του server , loginserver & gameserver folders etc etc .. και κάνουμε τις εξής μετατροπές πάμε login > configs > και ανοίγουμε loginserver.properties βρητε το Login=root password= και κάντε το Login=root password=root σάβε και κλείσιμο , μετά πάμε gameserver > configs > server.properties , Αν ο σέρβερ μας θέλουμαι να είναι Public για όλους -> GameserverHostname=* and replace * with your ip Αν θέλουμε να είναι LAN -> GameserverHostname=* and replace * with your 127.0.0.1 Μετά βρίσκουμε Login=root Password = Και το κάνουμε όπως προηγουμένος Login=root Password=root Βρήτε AcceptAlternateID = True και το κάνουμε FALSE Tώρα , πάμε πίσω ανοίγουμε τον φάκελο τοοls και βρίσκουμε το database_installer.bat > δεξί κλικ και επεξεργασία Βρείτε REM LOGINSERVER set lsuser=root set lspass= set lsdb=l2jdb set lshost=localhost REM GAMESERVER set gsuser=root set gspass= set gsdb=l2jdb set gshost=localhost Και κάντε τα REM LOGINSERVER set lsuser=root set lspass=root set lsdb=l2jdb set lshost=localhost REM GAMESERVER set gsuser=root set gspass=root set gsdb=l2jdb set gshost=localhost save και κλείσιμο ! Τρέχουμε την Database_installer και , 1)Press F 2)Press F πάλι 3)Press N Πάμε πίσω , ανοίγουμε login *φάκελο* και τρέχουμε RegisterGameServer.bat Θα σας πει αυτό Your choice: type 1 and press enter. *η κάτι παρόμοιο* Πατάμε "1" και τώρα στο φάκελο έχει δημιουργηθεί ένα αρχείο hexid(server 1).txt και το μετονομάζουμε σε hexid.txt και αντιγραφή/επικόληση στον φάκελο gameserver > config Επεξεργασία της database μας Ανοίγουμε το Navicat , δεν είναι κάτι σπουδεό ... Μετά το Localhost και το L2JDB , διαλέγουμε ένα απο τα tables που θέλουμαι , διπλο κλικ και επεξεργαζόμαστε ο,τι θέλουμε .. ΣΗΜΑΝΤΙΚΟ - ΓΙΑ ΝΑ ΓΙΝΟΥΝ ΟΙ ΑΛΛΑΓΕΣ Ο ΣΕΡΒΕΡ ΣΑΣ ΠΡΕΠΕΙ ΝΑ ΕΙΝΑΙ ΚΛΗΣΤΟΣ .. ΚΑΙ ΤΟ ΛΟΓΚΙΝ ΚΑΙ ΤΟ ΓΚΕΙΜΣΕΡΒΕΡ Aς πούμε για παράδηγμα για να κάνω τον χαρακτήρα μου Gm πάω στο τable > characters > και του βάζω access 100 Compiling Loipon , afou diale3oume to pack mas prepei na pame sto compile... Katarxas , gia pion logo kanume compile?(oeo) Compile prepei na kanume sto pack tou L2J server mas , gia na mporesoume na epe3ergastoume to CORE SIDE tou server , diladi ta .java arxia tou pack mas .. Mesa sto CORE (auto ine to core) mporoume na dimiourgisoume tromerous kodikes , gia ton server mas , na pros8esoume kapia mods , na kanume diafora modifications , kai akoma na ftia3ume kai ta features tou server ... Gia na kanoume Compile katarxas , prepei na gnwrizume tin diadikasia tin opia 8a akolou8isoume gia na kanume ena EPITYXES compile .. To opio den einai kati to idietera dyskolo , alla 8a vreite ton eauto sas na katevazei astamatites xristopanagies kai vrisidia , apo kapia pi8ana errors.. Ena etoimo POLY kalo Guide gia compile einai Auto Kai euxaristw para poly ton ~ExTrEmEdWaRf pou mou linei ta xeria me auto Gia na proxwrisoume twra se PERETERO apo to compile , prepei na 3eroume kapia vasika gia tin JAVA GLWSSA Programmatismou , gia tin opia 8a sas dosw kapies POLY STIXIODEIS plhrofories parakatw.. Prwta apo ola 8a prepei na tonisume kati poly simantiko .. Den mporoume na kanoume Compile sta preconfigured Packs .. Ara Den Mporoume na kanoume EDIT tin JAVA , ara den mporoume na DOULEPSOUME panw ston server , An exete skopo loipon se ena swsto kai SOVARO project , den prepei se KAMOIA periptwsh na xrisimopoihsete preconf pack .. Ektws an pali to 8elete na to tre3ete local , na dokimasete ta gm commands , kai ta loipa , gia auto 8a sas dosw ena pack edw (kata tin gnwmi mou to kalytero) gia Interlude kai Gracia Interlude Pack Gracia Final Γλώσσα προγραμματισμού java Twra , hr8e oi wra na dite kapia apo ta POLY STOIXIODH java kodikes , me ta opia mporite na kanete kapoia vasika codes .. ( Min fantasteite kai tipota spoudeo , alla kati 8a kanete) ospote arxizoume Otan arxizoume na grafoume ena code arxizoume me { kai otan to teleiosoume me } Otan 8eloume na milisoume gia to TI 8a kanei enas pextis , autos o pextis panta simionete ws activeChar kai pros8etoume kapia apo tis idiotites pou 8eloume = > paradigma (activeChar.isFlying()) simenei oti o xaraktiras mas petaei , ite me wyvern ite me kapion alon tropo ... An gia paradigma 8eloume na kanoume ena code pou na leei pos otan enas xaraktiras mas , einai noblesse automata na ginete hero 8a prepei na kanoume to code os e3is (Na tonisw oti ka8e fora prepei na vriskoume to katalilo java arxio kai line) ospote 8a pame sto L2PcIstance kai 8a kanoume search (ctr + f) kai kanoume search auto to opio 8eloume na epe3ergastoume , stin prokimenei periptwsi to setHero .. kai poly apla to code mas 8a ine => // Add Hero if noble if (activeChar.isNoble()) { activeChar.setHero(true); activeChar.sendMessage("You are hero"); } Twra , kapia alla vasika simvola java einai => || => or && => + (plus) And when we are on about making a code , it is REALLY important to make sure we have got it as we want .. Example = > (activeChar.isNoble()) => o xaraktiras einai noblessed (!activeChar.isNoble()) = > Prosoxh sto ! o xaraktiras Den einai noblesse .. Ara h doulia tou ! einai na kanei to kanei FALSE ka8os ola kanonika einai setarismena se TRUE... Sto telos ka8e kodika vazoume Return; Return; = > O Kodikas teleionei kanonika kai epitixos Return False = > den afinei na diapraxtei i pra3h Meta exoume to else if ... To else if simenei me liga logia , ALIOS.. Pote den prepei na 3exname oti ta { } mpenoune meta to IF! Se periptwsi pou 8elete na dite kapos pio paradigmatika ta pragmata mporeite na deite Auto to yperoxo guide tou MaestroLuke ... Epishs alo ena simillar guide to opoio 8a mporousate na kita3ete kai na katalavete pali kapia pragmata einai Auto kai euxaristoume poly ton Coyote Etsi katalavenoume peritinos prokite i JAVA kai ta vasika codes tis ... To 8ema einai , oti prepei PANTA , na e3askomaste stin java ... Na min tin afinoume , kai panw apo ola na exoume fantasia , kai sto create enan kodika kai sto na fix ena exploit , kai se polla alla ... Workspaces Katarxas , an 8eloume na vlepoume updates prepei na vlepoume sixna to timeline tou pack p xrisimopoioume , se periptwsh omws pou eimaste melh enws project hte kapiou server ite se ena developing project opws ine ta parapanw , kai 8elume na apo8ikeusoume to change pou kaname sto timeline mas , ti ginete? Einai aplo ! Katarxas o founder tou project prepei na sas stilei invitation sto project sto assembla !! Meta mporeite na pate sto svn , 8a kanete ta files chekout kai 8a iste rdy na doulepsete me to ECLIPSE .. Twra , pos 8a postaroume auto to opoio kaname?Pos 8a to valoume sto timeline este na to doun kai oi ipolipoi? As poume oti kanei ena code , oti nane as valoume ena san k auto gia twra // Add skills if hero if (isNoble()&& isClanLeader()) setHero(true); 8a to postaroume kanontas to e3is .. de3i click => team => commit dite tin parakatw pic Credits*Revenger Last update 14/10/2009 New update : Orea , ksexasame omws kati vasiko , pos mporoume na DULEPSOUME panw sto core.. Einai aplo katevazoume ta files tou pack pou 8eloume (px - archid) kai meta pame sto eclipse : (de3i click ta files , chekout - kai meta mporoume na dulepsoume sto core) PERH TOU SERVER : i)Pws kanw ton xarakthra mou GM? Mpenoume navicat , l2jdb , tables , characters , access = 200 (an exete archid pack valte 1) ii)Ti prepei na exw gia na tre3w ton server? Prepei na kanete no ip (www.no-ip.org) meta na ani3ete ta ports tou router sas (www.portforward.com) kai meta na kanete patch! Latest update 25/10/2009 Java announce Καλησπέρα , ένα απλό note πιο πολύ για κάτι που μπορεί να σας προβληματίσει στην γλώσσα java σχετικά με το L2 .. θα εξηγήσουμε τον κώδικα εδώ , ώστε να τον χρησιμοποιήσετε στους δικούς σας Αρχίζουμε , if (activeChar.getPvpKills() >= 5000) { activeChar.sendMessage("You are now a server hero for beign so great fighter!"); Announcements.getInstance().announceToAll(activeChar.getName() + "Is now a server's hero!"); activeChar.setHero(true); } αυτός είναι ο κώδικας μας , δίνουμε έμφαση εδώ [b]Announcements.getInstance().announceToAll(activeChar.getName() + "Is now a server's hero!"); activeChar.setHero(true); [/b] Λοιπόν , Announcements.getInstance () = μας συνδέει στο announcements instance (πάντα το βάζουμε) AnnounceToAll = να σταλεί σε όλους (activeChar.getName() = το ποιό σημαντικό , με βάση αυτού , το L2 θα βρεί το όνομα του παίχτη που έκανε τα παραπάνω if (activeChar.getPvpKills() >= 5000) , πρέπει πάντα να το βάζουμε για να προσδιορίζουμε τι όνομα θα βγεί στην ανακοίνωση + "xxx" = μετά το getName , μπένει αυτό που είναι το ΤΙ να ανακοινώσει το L2 Attention Όταν δουλεύουμε στο L2PcInstance η οπουδήποτε αλλού μπορεί να μας βγάλει error στο Announcements , κάνουμε δεξί κλικ , και πολύ απλά το περνάμε (2 κλικ είναι) Γρήγορα και καλά SubClipse addon Hello mates , today's my birthday .. so i present you my new L2J Guide .. where you ca see how to work with L2J faster using the subeclipse addon also..Download the video .. (sorry about some lags in the start , go the vid on 0:35 - sorry about the last shit missing , my pc stucked there :D ) Clik me and win a cookie xD Watch out the configs!Codes Λοιπόν εδώ θα σας δείξω τι πρέπει να προσέχουμε όταν πάμε να κάνουμε κάποιον κώδικα που να έχει κάποιο config , για παράδειγμα τώρα .. Ως γνωστόν στο L2 το Jail είναι ένα zone που δεν σου επιτρέπει να μιλήσεις σε κανένα chat εκτός του απλού .. Δείτε πως είναι ο κώδικας στο Say2.java όπου εκεί θα επεξεργάζεστε πάντα (clientpackets) .. Ο Κώδικας είναι : if (activeChar.isInJail() && Config.JAIL_DISABLE_CHAT) { if (_type == TELL || _type == SHOUT || _type == TRADE || _type == HERO_VOICE) { activeChar.sendMessage("You can not chat with players outside of the jail."); return; } } προσέχουμε λοιπόν if (activeChar.isInJail() && Config.JAIL_DISABLE_CHAT) Σημαίνει ότι μόνο όταν το config που δίνει αυτή την ιδιότητα στο jail θα λειτουργήσει το παρακάτω .. Τώρα αν θέλουμε να κάνουμε ένα άλλο κόδικα στο Say2.java γράφουμε απο κάτω example : if (activeChar.isRetarded)) { if (_type == ALL || _type == SHOUT || _type == TRADE || _type == HERO_VOICE) { activeChar.sendMessage("You cannot speak while you are dead."); return; } δηλαδή ο char άμα είναι χαζός δεν θα μπορεί να μιλήσει πουθενά .. κάνουμε remove όπιο chat θέλουμε μαζί με το _type == CHAT_STYLE και είμαστε GG -ReVenGeR^ Κάντε το δικό σας custom system Γειά σας , πως λοιπόν μπορούμε να αρχίσουμε ένα custom java mod , δηλαδή πως θα αρχίσουμε το file ..? Πρέπει να γίνουν 3 βασικά βήματα !! 1) Πάμε εκεί που θέλουμε πχ στο dp / voicedcommandhandler και κάνουμε το new file που είναι αναγκέο να γίνει .. η όπου αλλού θέλουμε εξαρτάτε απο το system που θέλουμε .. 2) Στην αρχή του file το πιο σημαντικό που έχουμε να κάνουμε είναι να περάσουμε το GNU licence /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ Αλλιώς θα υπάρξουν προβλήματα αδειών .. τέσπα 3) και τώρα περνάμε Public Class Filename { //Code here} Και όπως στο code που έκανε πριν share o Dawn είδατε public class logout implements IVoicedCommandHandler Imports Πολλές φορές θα πρέπει να κάνετε τα imports όπως στο code π έκανε share o dawn είδατε import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; Αυτά τα ολίγα , -Revenger Credits ReVenGeR - Όλα τα κείμενα προέρχονται απο δικούς μου οδηγούς και είναι γραμμένα στο χέρι , HF Link to comment Share on other sites More sharing options...
Recommended Posts