Jump to content

[Tutorial] Aion-Emu Server


Recommended Posts

Software needed to download and install:

Java JDK 6 or higer, necessary for running the server

Link: Java SE Downloads - Sun Developer Network (SDN)

MySQL 5.x, necessary for Database

Link: MySQL :: MySQL 5.4

Navicat 8.2.7 (or higer) for MySQL (optional), gui for administrating the database

Link: Navicat - Download Center - Download the World's Best Oracle Manager, MySQL Front End & PostgreSQL GUI for Windows, Linux & Mac OS X - Download Now! Support Access to MySQL, Excel to MySQL, MySQL editor, MySQL administrator, MySQL frontend, MySQL man

Tortoise SVN 1.6.x or higer, necessary for updating the source code

Link: TortoiseSVN downloads | TortoiseSVN

Apache Ant 1.7.0 or higer, necessary for compiling the source code

Link: Download ANT

 

Installing…

Java:

Just execute the*.exe file

MySQL:

Install and Configure:

1. Execute the file and select typical, click next and select the folder where you want to install it, when the installation is finished tick the Configure MySQL Server now box and click finish. Now a configuration wizard will appear, select Standard Configuration and click next, the settings in the next windows are just ok, next, now create a username and password (default username: root, default password: root), next, then execute and finish.

Tortoise SVN:

 

Install:

 

Easy to install so I won’t explain how :P.

Don't forget to reboot your computer.

Source Code:

Downloading source code:

Create empty directory, right click, SVN checkout.

Enter SVN url: http://aion-emu.com/index.php/topic,2.0.html

Compiling the source code:

Go to any project in the trunk directory.

There is a list of available projects(each folder is separate project) for compilation.

 

Open console in the folder of project.

Type ant, wait for compilation.

 

Preparing the server files:

Make another folder and name it aion-emu files. Go to: aion-emu\trunk\AE_LoginServer\build and extract ae_login.zip to aion-emu files folder. Do the same with ae_gameserver.zip from aion-emu\trunk\AE_GameServer\build. Open with notepad gameserver.properties from aion-emu files\gameserver\config and edit it like below:

23033388.png

The Folder should look like this:

22961187.png

Navicat:

Making a Connection to MySQL:

Install the program (it’s easy so I won’t explain how to install it :P). After installing run the program then select New Connection, a window will pop-up, configure like in the picture below.

navicat.png

Creating the databases:

1. In the left side of the Navicat window will appear the connection created at step 1, right click on it and select Open Connection, now the red “Thunderbolt” should become green.

88766196.png

Now right click again on the connection and then click on New Database, a pop-up windows will appear, fill the fields like in the picture.

64676397.png

Then double click on the ae_server_ls database to open it, after that right click on it and Execute batch file, navigate to aion-emu files\loginserver\sql and double click on login_db then start. Open ae_server_ls database and double click on gameservers table and fill the fields like in picture

gameserverstable.png

Now make another database and fill the fields like in the picture.

38595363.png

Open the ae_server_gs database, then Execute batch file (you got the idea, right? ), navigate to aion-emu files\gameserver\sql double click gs_db_sql and start. Now we’ve finished with databases.

Running the Server:

Double click on StartLS.bat from aion-emu files\loginserver and StartGS.bat from aion-emu files\gameserver.

Note:

To connect with the client to the server unzip this file Launch.rar to C:\Program Files\Ê¢´óÍøÂç\ÓÀºãÖ®Ëþ

In order to connect with the EU/Na client you must change this

 

public class Version

{

/**

* What version should server support

* [true = chs, false = EU/US]

*/

public final static boolean Chiness = false; <------ this

}

 

in version.java before compiling

 

mysig2i.jpg

Link to comment
Share on other sites

  • 5 months later...
  • 8 months later...

OK, so, I've done everything-- but the URL you're supposed to put into the SVN URL of Repository field isn't working. I can't even directly access it.

Has it been moved to somewhere else, perhaps?

Hope to hear from you sooner rather than later.

Link to comment
Share on other sites

  • 1 month later...

guys I suggest use a simple way of compiling AION server, like download SVN, checkout, and compile in one application only, see this thread >> http://www.maxcheaters.com/forum/index.php?topic=81843.0.

Link to comment
Share on other sites

im getting this error "[iNFO 2011-01-09 00:40:52] com.aionemu.gameserver.network.loginserver.LoginServerConnection:108 - recived packet: [C] 0x00 CM_GS_AUTH_RESPONSE

[FATAL 2011-01-09 00:40:52] com.aionemu.gameserver.network.loginserver.clientpackets.CM_GS_AUTH_RESPONSE:88 - GameServer is not authenticated at LoginServer side, shutting down!

[WARN 2011-01-09 00:40:52] com.aionemu.gameserver.network.loginserver.LoginServer:133 - Connection with LoginServer lost..."  can anyone help me

 

Link to comment
Share on other sites

New AION Java Project http://www.aion-java.com :)

 

Aion-Java Project SVN

 

    Dear friends,

 

    our SVN (may be later we will move)

    is located at :

 

    https://code.google.com/p/aion-java/

 

    svn checkout http://aion-java.googlecode.com/svn/trunk/

 

 

    Enjoy!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • I also think this feature would bring more harm than good... another example is a dwarf rushing against your mobs so he takes priority, then he plays fake death and proceeds to grief the shit out of you. A minimum damage threshold is necessary, which would basically converge to what is the default feature (i.e. biggest damage dealer)
    • I bought the premium to watch the video and it's private. 😢
    • For some Majestic reason OP can't edit their topics anymore?    Let me update the potential offers, I got up to 2 spots to fill.   CONTACT TELEGRAM ONLY: https://t.me/asupport_g1     A credible team that SGuard represents is looking for java developers.    These positions is full time only i.e. your time is mostly dedicated within the team and team tasks, side gigs are fine, as long as you are able to combine your gig and main.  All necessary tools are provided.  The team is consistent with > 10 team members and the team is looking to expand to meet various goals. A decent Lineage 2 Essense OR Main (GOD) knowledge is needed.  Experience with l2r/l2p/l2s. mobius is fine too for referrence only. The team is friendly and goal oriented, very active and resourceful.   Requirements are standard, java knowledge is optional.  Multi language is a plus but not necessary (English/Russian), any is accepted.   Terms and conditions including compensation are reasonable and considered to be up for the industry standards. Details are negotiable with suitable candidates.   You will need to have a headset and a mic just for the initial processing, there're no team meetings or conferences after that. There's a small 30min interview process to demonstrate knowledge and just to meet each other.   The team has decided it is in their best interest to not publish their information at this time. Details will be available only for suitable candidates.   CONTACT TELEGRAM ONLY: https://t.me/asupport_g1
    • Thanks for the detailed info. I also have some ideas in mind but the execution may be hard. Thanks again!
    • There are as many approaches as stars in the sky, for all I know. You could create a class variable in MonsterInstance.java, which will hold the Object_ID of its first aggressor/dmg_dealer. From there, you will have to add a check in the RequestAttack and RequestMagicSkillUse packets and/or in some doDamage()/reduceHp() method, which will check if the damage dealer is the first aggressor, and if not - reduce the damage to 0. But you also have to be mindful about special cases, such as: - what happens when a Warlord runs around an area, provoking everything just to trigger the aggression and then just goes to town waiting for someone else to kill the said mobs so that the WL can collect free rewards? You might have to play with the DefaulAI, or the AI of monsters and hook a function that would reset the aggressor_id value under certain conditions, such as - the aggressor is not in X range or the aggressor is dead, or the aggressor is not online, or the NPC/Monster's AI is in INACTIVE state, which would indicate they are not in combat. - what happens when the aggressor is in party? should the said aggressor/dmg_dealer variable be a List/Set of players which are all eligible to deal dmg or receive rewards?  
  • Topics

×
×
  • Create New...