Jump to content

Tα Πάντα Όλα Για Τους New-Developers!


Recommended Posts

Χαιρετώσας αγαπητά μέλη του 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 : 2uyqb1y.png

 

Τώρα , το κάνουμε Install και μετά πάμε Help > Install Software 9tfqjr.jpg

 

Ύστερα βάλτε αυτό το 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 σας!)

 

k4tkz7.jpg

 

2n8q26v.jpg

 

2j1tvyv.jpg

 

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

 

 

15ocojq.jpg

 

 

 

 

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 :

15ziub.jpg

 

(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

Guest
This topic is now closed to further replies.


×
×
  • Create New...