Jump to content

aszrool

Members
  • Posts

    24
  • Joined

  • Last visited

Everything posted by aszrool

  1. @CyberDevil, you can safely ignore those warnings unless it is affecting the actual intended behavior of the emulator. GCC-7 should be okay.
  2. @Kokak, use this command to checkout certain commit. For example, based on your use case above, git checkout 11b255e0e9cd2541ddd0e7c314b440f59627d07d
  3. Ehh, gurau je la, chill la.
  4. Good luck & all the best @dolphincute. Nak lawan Trinity Server ke? Hehe ?
  5. You can configure your custom MySQL settings by editing file on conf/import/inter_conf.txt // MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: secret login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: secret ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: secret char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: secret map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: secret log_db_db: rathena log_codepage: log_login_db: loginlog Edit this thing according to your MySQL settings (Port, Username, Password). If your MySQL server is on different server than your emulator server (either different locations or different hosting) you need to change the IP address as well.
  6. Did you tried this command to stop the server? ./athena-start stop
  7. Wow, when you guys were talking about ASB, KelvinLoh, seven etc, it really brings back lot of memories. I was in eAthena as well as lurker since eAthena was kinda strict and harsh (At first I scared to post something there but after chatting with shazeya, I understood the culture back then, and shazeya & KelvinLoh were few of peoples who encouraged me to get into Distro Linux thing). Those drama behind the scene, so nostalgic ... xD
  8. Hi @Cydh, sorry for a very late reply, 6GB+ should be enough for this installation (approximately 3GB just to be safe) + the RO client files (3GB+) although the more is better.
  9. Hi @fraxor, please remove these lines on Patches/TranslateClient.qs file in order to use "Translate Client" patches. //==================================// // Now for the TaeKwon Job name fix // //==================================// //Step 4a - Find the Langtype Check var LANGTYPE = GetLangType();//Langtype value overrides Service settings hence they use the same variable - g_serviceType if (LANGTYPE.length === 1) return "Failed in Step 4 - " + LANGTYPE[0]; var code = " 83 3D" + LANGTYPE + " 00" //CMP DWORD PTR DS:[g_serviceType], 0 + " B9 AB AB AB 00" //MOV ECX, addr1 + " 75" //JNZ SHORT addr2 ; offset = exe.findCode(code, PTYPE_HEX, true, "\xAB");//VC9+ Clients if (offset === -1) { code = LANGTYPE //MOV reg32_A, DWORD PTR DS:[g_serviceType] ; Usually reg32_A is EAX + " B9 AB AB AB 00" //MOV ECX, addr1 + " 85 AB" //TEST reg32_A, reg32_A + " 75" //JNZ SHORT addr2 ; offset = exe.findCode(code, PTYPE_HEX, true, "\xAB");//Older Clients } if (offset === -1) return "Failed in Step 4 - Translate Taekwon Job"; //Step 4b - Change the JNZ to JMP so that Korean names never get assigned. exe.replace(offset + code.hexlength() - 1, "EB", PTYPE_HEX);
  10. You need to upgrade your solution to the latest toolset or at least version 2015 one, I guess .. The last picture shows how you can do it.
  11. You can patch the "Translate Client (Recommended)" by removing below lines on Patches\TranslateClient.qs //==================================// // Now for the TaeKwon Job name fix // //==================================// //Step 4a - Find the Langtype Check var LANGTYPE = GetLangType();//Langtype value overrides Service settings hence they use the same variable - g_serviceType if (LANGTYPE.length === 1) return "Failed in Step 4 - " + LANGTYPE[0]; var code = " 83 3D" + LANGTYPE + " 00" //CMP DWORD PTR DS:[g_serviceType], 0 + " B9 AB AB AB 00" //MOV ECX, addr1 + " 75" //JNZ SHORT addr2 ; offset = exe.findCode(code, PTYPE_HEX, true, "\xAB");//VC9+ Clients if (offset === -1) { code = LANGTYPE //MOV reg32_A, DWORD PTR DS:[g_serviceType] ; Usually reg32_A is EAX + " B9 AB AB AB 00" //MOV ECX, addr1 + " 85 AB" //TEST reg32_A, reg32_A + " 75" //JNZ SHORT addr2 ; offset = exe.findCode(code, PTYPE_HEX, true, "\xAB");//Older Clients } if (offset === -1) return "Failed in Step 4 - Translate Taekwon Job"; //Step 4b - Change the JNZ to JMP so that Korean names never get assigned. exe.replace(offset + code.hexlength() - 1, "EB", PTYPE_HEX);
  12. @Steven Ahoy, you are welcome, it's fine, you can learn little by little as well. Take your time
  13. @Steven Ahoy, I have to suggest to you to test your server rigorously before your server is going into production stage (open & alive for outside players). I wish the rAthena & Hercules team to open up the stable branch on their repositories just like the way eAthena used to do ... For development process tips to @Steven Ahoy, I suggest you to fork the rAthena repository into your github account & then do what ever customization you want on your own repository. You can rebase your repository later if you want to get the latest updates from rAthena, & don't forget to add stable branch for the code that stable enough for your production server later on. Sometimes, some bugs are harder to catch & you will messed up your server & ruin your players as well. So to be safe, those advice is for you to follow.
  14. What is your compiler version? If you are using below 4.8 for gcc-c++, I must suggest you to upgrade your Centos to version 7 at least, since Centos 6.9 & below are only provide the gcc-c++ below version 4.8. You can't fix it since the rAthena devs are going to upgrade those codes using C++11 & they are preparing to migrate the C system into C++ based on what shows here. And here as well ...
  15. I assume those error were related to toolchain version if I am not mistaken. So, I think you need to use Visual Studio 2017 for your compiler since they already dropped the support for below 2015 version. Since you wish to use the master version, you may refer this about visual studio refactor and how to download and use the lightweight way for Visual Studio 2017. You can also refer to my post if you wish to use the GCC compiler on Windows platform.
  16. Isn't it? I had seen some the rises and the downfall of these RO emulators with the community behind it. So much precious memories I guess. Oh my ... I wonder how are they doing today? @AnnieRuru
  17. Hi everyone, After digging some old files from my old CDs, I found this history tree by Tsuyuki (as stated on the diagram) for everyone reference. Although it is already outdated, you may find it is useful to reminisce the past emulators that helped shaping the present emulators. It is a long life learning journey. For my personal opinion, RO emulator was one of the reason I started to get interested with computer science in general. Thank you, RO devs
  18. Introduction Vagrant has been widely used for running the Linux distribution environments on top of Windows platform for the sake of consistency on development setup among developers since they can share the exact Linux distro setting within their team. Vagrant helps the developer to automate the process of setup the particular environment such as LAMP and it can be deployed into production server later which reduce the time of manually setup instead of focusing on developing the system. Vagrant also helps reduces "meddling" the host system files since vagrant contained the intended setup inside guest system. So every time the developer format his/her computer or buying new PC/Workstation/Laptop, he/she can quickly restore his/her development environment inside the new computer. Some of you might want to use gcc/g++ compiler instead of Microsoft Visual Studio or Cygwin or you might want to practice setting up the server locally before deploying it into VPS/Dedicated server etc. So this guide suits your needs. In this guide, I will show you how to use Laravel Homestead box for compiling rAthena. **NOTES** You can use any vagrant boxes as well although in this case, I am using Homestead because it came together with LAMP preconfigured and I am still developing custom vagrantfile and in the future, I might release rAthena boxes for speeding up the process. For the time being just bear with this one. Preliminary Download these files first Virtual Box: https://www.virtualbox.org/wiki/Downloads Vagrant: https://www.vagrantup.com/downloads.html Cmder: http://cmder.net **Preferably choose "Download full" MySQL Workbench: https://dev.mysql.com/downloads/workbench/ Atom/Notepad++/Any your preferred editor: https://atom.io / https://notepad-plus-plus.org Installing Virtual Box, Vagrant, MySQL Workbench and those editor should be self-explanatory. Just keep clicking "Yes" and "Finish". However, for cmder, you can extract it into any place you want as shown below: C:\cmder Create the shortcut of Cmder.exe from inside cmder folder and paste it into your desktop for the sake of easy access. Configure Vagrant 1. Run your Cmder.exe shortcut and install Vagrant plugins for VirtualBox Guest Additions using below command. vagrant plugin install vagrant-vbguest 2. Generate ssh key using below command. ssh-keygen -t rsa 3. It will show these lines, just press enter to accept the path to store your ssh key. Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/YOUR_USERNAME/.ssh/id_rsa): 4. Enter your any passphrase key and insert the same key for the second one. Created directory '/c/Users/YOUR_USERNAME/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Configure Laravel Homestead 1. Download the Laravel Homestead box using below command and choose virtualbox as provider. Wait until it finish downloading. Its gonna take a while depending on your internet connection speed. vagrant box add laravel/homestead 2. It is preferably to change into another disk for your homestead folder. Example as show below. C:\Users\Zarey λ cd .. C:\Users λ cd .. C:\ λ D: D:\ λ mkdir homesteads D:\ λ cd homesteads 3. Clone the homestead repository into your preferable folder like shown previously. D:\homesteads λ git clone https://github.com/laravel/homestead.git rAthenaHomesteads 4. Enter rAthenaHomesteads folder and run following command. D:\homesteads λ cd rAthenaHomesteads D:\homesteads\rAthenaHomesteads (master) λ bash init.sh 5. Open the generated Homestead.yaml inside rAthenaHomesteads folder using your favorite editor. Use below setting as your guidance. As you can see, I create SourceCodes folder inside my drive E which is the place I keep rAthena server. Customize it according to your needs. Don't forget to save your changes. You can also refer this official documentations for Laravel Homestead. --- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: c:/Users/YOUR_USERNAME/.ssh/id_rsa.pub keys: - c:/Users/YOUR_USERNAME/.ssh/id_rsa folders: - map: e:/SourceCodes to: /home/vagrant/Codes sites: - map: homestead.app to: /home/vagrant/Codes/WebDevs/blog/public databases: - homestead # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp 6. It is time to run your homestead box. Inside your rAthenaHomestead folder, run the below command to start the homestead box. Its gonna take a while and you can ignore the warning about insecure key. vagrant up 7. Now you can enter the homestead box via ssh using below command. vagrant ssh Compile rAthena server 1. At this point, you can refer rAthena wiki for the compiling process. However, I am gonna show the step that I used for this guide. Since you already inside the homestead box for the first time, it is recommended to update and upgrade your homestead box. Choose the option "keep the installed ..." every time it popup when upgrading the homestead box. So that the preconfigured settings inside homestead box are keep intact unless you know what you are doing. Use below commands to update and upgrade your homestead box. sudo apt update sudo apt upgrade 2. Exit from your homestead and restart your homestead box before you enter again using below commands. Its gonna take a while. exit vagrant halt vagrant up vagrant ssh 3. Install the following packages using below command. Although some packages might already installed, it is no harm to use below command just to avoid the missing packages. sudo apt install git make gcc g++ libmysqlclient-dev zlib1g-dev libpcre3-dev 4. Go to Codes folder and clone the rAthena repository. **NOTES** You might wondering why I didn't clone the repo first before enter the homestead box? It is because I want to avoid using dos2unix whenever some bad interpreter occurred. vagrant@homestead:~$ cd Codes vagrant@homestead:~/Codes$ git clone https://github.com/rathena/rathena.git 5. Go to rathena folder and compile it accordingly. vagrant@homestead:~/Codes$ cd rathena vagrant@homestead:~/Codes/rathena$ ./configure && make clean && make server Setup rAthena configuration 1. Configure the rAthena networking & anything you need inside conf folder. Please note the IP address for your rAthena is based on what you set inside Homestead.yaml, in this case it would be 196.168.10.10. Below are my examples. - conf/import/char_conf.txt userid: serv1 passwd: perv1 login_ip: 192.168.10.10 char_ip: 192.168.10.10 start_zeny: 500 - conf/import/inter_conf.txt // MySQL Login server login_server_ip: 127.0.0.1 login_server_port: 3306 login_server_id: root login_server_pw: secret login_server_db: rathena login_codepage: login_case_sensitive: no ipban_db_ip: 127.0.0.1 ipban_db_port: 3306 ipban_db_id: root ipban_db_pw: secret ipban_db_db: rathena ipban_codepage: // MySQL Character server char_server_ip: 127.0.0.1 char_server_port: 3306 char_server_id: root char_server_pw: secret char_server_db: rathena // MySQL Map Server map_server_ip: 127.0.0.1 map_server_port: 3306 map_server_id: root map_server_pw: secret map_server_db: rathena // MySQL Log Database log_db_ip: 127.0.0.1 log_db_port: 3306 log_db_id: root log_db_pw: secret log_db_db: rathena log_codepage: log_login_db: loginlog - conf/import/map_conf.txt userid: serv1 passwd: perv1 char_ip: 192.168.10.10 map_ip: 192.168.10.10 *** NOTES *** It is not recommended to use root account to access the database, please create the specific account for your server if possible. Above is just for the example. Setup rAthena database via MySQL Workbench Although you may use the command line method provided by rAthena wiki, if you like to use GUI method via MySQL Workbench, here are the steps you may follow. *** NOTES *** Below examples are using root account for database. Please create new account accordingly. You can find the option to create new account on Server > Users and Privileges menu which you can only access via root account. 1. Open the MySQL Workbench from Start > All Programs > MySQL > MySQL Workbench 6.3 CE 2. Click the "+" sign on the right of "MySQL Connections" and fill the form as shown below. 3. Click "Test Connection" button, and enter the "secret" for password. If there is "Can't connect error appear" try click "Ok" and the popup asking password should be appeared. 4. Click the "Vagrant" to access the database connection 5. Right click and select "Create Schema 6. Type "rathena" for the name or any name for your database and click "Apply" 7. Click "Apply" and "Finish" after that. 8. Double click the rathena on schemas to select it. 9. Use "Ctrl+Shift+O" to select the sql files from your rAthena server folder. 10. Use "Ctrl+Shift+Enter" to execute the sql files that you just opened. Repeat all 9-10 steps for all sql files. 11. Right click on schemas and select "Refresh All" to see all loaded tables inside your database. 12. Right click on login table to edit the appropriate details. Based on previous steps, I change the s1 & p1 into serv1 & perv1. You can insert new row for your new account as well. Don't forget to click "Apply" button to save the changes you just made inside the table. Then click "Apply" & "Finish" whenever the pop windows appeared. At this point, you may follow other people guides for setting up the client side. Use below command to run the rAthena server. ./athena-start start Good luck! *** NOTES *** Homestead SSH access username is "vagrant@IP_Address" (my example would be "[email protected]" and password is "vagrant" Homestead database username is "vagrant" and password is "secret" Credits, Resources & References rAthena Github & Wikis: https://github.com/rathena/rathena & https://github.com/rathena/rathena/wiki Laravel Homestead Official Docs: https://laravel.com/docs/5.4/homestead Tutorial to connect vagrant database with MySQL Workbench via ssh: https://ttmm.io/tech/vagrant-windows/ Another Laravel Homestead on Windows 10 tutorial: https://medium.com/@eaimanshoshi/i-am-going-to-write-down-step-by-step-procedure-to-setup-homestead-for-laravel-5-2-17491a423aa
  19. No. rAthena already drop make sql command if I am not mistaken. Source: Makefile.in sql: $(SERVER_DEPENDS) @echo "-!- 'make sql' is now deprecated. Please run 'make server' to continue. -!-"
  20. I did managed to use Virtual Box + Vagrant (Using Laravel Homestead) solution on Windows platform in order compile these emulators since I cannot afford to download 20+gb Visual Studio IDE although I knew your guide are able to use >2gb solution and I just want to minimize jumbling with Windows registry. Later I post the guide on how to setup this method since I want to try to relearn the network configuration after such long hiatus from RO emulator world.
  21. @rizal, tengok ni db/skill_damage_db.txt
×
×
  • Create New...