some people actually doesn't believe I've played Ragnarok Online LOL
so I dig up my precious childhood memory storage box, and scan all those access cards
really, its my childhood memory
@Emistry sure have seen them before
EDITING : yeah this IPB forum sucks ...
rathena already has this by default -> https://github.com/rathena/rathena/commit/27a0f3f
someone else has tried to pull request in hercules, -> https://github.com/HerculesWS/Hercules/pull/351
but it was denied, so have to leave this as plugin
UPDATE: rathena has taken out -> https://github.com/rathena/rathena/commit/b65443d8f564175196d57ef9bc1d000a5661fbdc
Download : 2.1 plugin
Tested with:
conf\import\OnPCStatCalcEvent.conf
both `@reloadscript` and `@reloadonpcstatcalcevent` command can reload conf\import\OnPCStatCalcEvent.conf file
`@reloadscript` = reload everything -> cause destruction on live server
`@reloadonpcstatcalcevent` = only reload conf\import\OnPCStatCalcEvent.conf file , combine with `@reloadnpc` command -> not so destructive
script: (
{ // give GM permanent bonus ?
OnPCStatCalcEvent:
<"
bonus bVit, 1234;
end;
">
},
{ // for xxx event
OnPCStatCalcEvent:
<"
skill TF_HIDING, 1;
end;
">
},
{ // npc/custom/xxxevent.txt
OnPCStatCalcEvent:
<"
if (@a) {
bonus bStr, 1000;
skill WZ_ICEWALL, 1;
}
end;
">
},
)
script
prontera,158,185,5 script djk2sfhsd 1_F_MARIA,{
@a ^= 1;
mes "hmm...";
recalculatestat();
next;
mes "what ?";
@a ^= 1;
recalculatestat();
next;
mes "maybe...";
@a ^= 1;
recalculatestat();
next;
mes "probably...";
@a ^= 1;
recalculatestat();
next;
mes "yeah...";
@a ^= 1;
recalculatestat();
close;
}
yes, this actually works !!
with version 2.0 onwards,
no more spamming <npc name>::OnPCStatCalcEvent !!
and even `*skill` working perfectly fine now
Over the last few days I have been playing with Google Cloud services
because Google cloud currently offers $300 free credit upon signing up
yes, FREE $300 credit
and thus my journey trying to host hercules server on a VPS has begun
all you need is a valid Debit/Credit card number ...
of course you have to be an adult to try the hosting service ... right ?
oh and, don't worry, you can always cancel it anytime
after playing with it, I found the Windows option is too expensive, and thus trying to learn the Linux option
This guide is actually demonstrate by using a trash gmail account that can throw away later
I don't mind all the credentials are shown in the screenshot, when I click the Open topic button I have deleted this project on Google Cloud
Step 1. Download Putty and WinCP
https://www.putty.org/.
https://winscp.net/eng/download.php
Step 2. Run Google Cloud
2.1 login to your Google cloud project
https://github.com/AnnieRuru/customs/blob/master/server hosting/2.png
2.2 first you need to link your credit card to this google cloud
https://github.com/AnnieRuru/customs/blob/master/server hosting/3.png.
https://github.com/AnnieRuru/customs/blob/master/server hosting/4.png
select the billing option to the debit/credit number you input earlier
https://github.com/AnnieRuru/customs/blob/master/server hosting/5.png
this billing information is very important, you need to check this once in a while to stop unwanted services <-- please scroll to the right
2.4 now time to create a VPS, select Compute Engine
https://github.com/AnnieRuru/customs/blob/master/server hosting/7.png
2.4.1
enter all the necessary information
1. the Virtual machine name
2. your nearest location
3. the spec of the machine
https://github.com/AnnieRuru/customs/blob/master/server hosting/8.png
PS: I tested the cheapest option, N1 series, f1 micro 614MB memory and E2 micro, 1GB memory
when compiling hercules later, putty just stop ... I think it run out of memory
... hercules should have mention a recommendation needs at least 2GB memory to run
2.4.2
4. Select Boot Disk as CentOS 8
https://github.com/AnnieRuru/customs/blob/master/server hosting/9.png
5. select allow HTTP and HTTPS
https://github.com/AnnieRuru/customs/blob/master/server hosting/10.png
2.4.3
6. Click Security tab
https://github.com/AnnieRuru/customs/blob/master/server hosting/11.png
needs to 'Enter public SSH key'
run Putty Key Generator and click Generate
https://github.com/AnnieRuru/customs/blob/master/server hosting/12.png
1. change the 'key comment' as it will become user name
2. save private key to desktop
3. copy the field
https://github.com/AnnieRuru/customs/blob/master/server hosting/13.png
paste into Google cloud
https://github.com/AnnieRuru/customs/blob/master/server hosting/14.png
2.4.4
select Networking tab
https://github.com/AnnieRuru/customs/blob/master/server hosting/15.png
create a static IP address
https://github.com/AnnieRuru/customs/blob/master/server hosting/16.png
choose standard tier
after everything done click [Confirm]
https://github.com/AnnieRuru/customs/blob/master/server hosting/17.png
and you get your virtual machine running
https://github.com/AnnieRuru/customs/blob/master/server hosting/18.png
2.5
once your server up and running
run Putty to connect to this server
https://github.com/AnnieRuru/customs/blob/master/server hosting/19.png
1. scroll down, expand 'SSH' to select 'Auth',
2. then load the file you saved earlier by PuttyGen
https://github.com/AnnieRuru/customs/blob/master/server hosting/20.png
3. enter the public IP address,
4. then click open
https://github.com/AnnieRuru/customs/blob/master/server hosting/21.png
it will prompt you with security alert, just click yes
2.6
login with your user name
https://github.com/AnnieRuru/customs/blob/master/server hosting/22.png
The very first command you should run is change the password
sudo passwd root
ok Windows Users, don't freak out like me
there are no ******** when you input the password, this is Linux not Windows
just input normally ... and press Enter key, it works that way
https://github.com/AnnieRuru/customs/blob/master/server hosting/23.png
then do the same with your username
sudo passwd annie
3. update the OS and install all necessary product
3.1 run all these commands
sudo yum update
sudo yum install gcc make mysql mysql-devel mysql-server pcre-devel git zlib-devel
Transaction Summary
================================================================================
Install 89 Packages
Total download size: 108 M
Installed size: 395 M
Is this ok [y/N]:
Press 'Y' key
3.2
in the meantime, while this might take awhile, try login WinCP
https://github.com/AnnieRuru/customs/blob/master/server hosting/24.png
click new session, then click advance
https://github.com/AnnieRuru/customs/blob/master/server hosting/25.png
select 'Authentication' and load the Putty Gen file again
https://github.com/AnnieRuru/customs/blob/master/server hosting/26.png
just another warning
https://github.com/AnnieRuru/customs/blob/master/server hosting/27.png
4.1 Start SQL service
sudo systemctl start mysqld.service
4.2 login as root
mysql -u root -p
Enter password, just press enter
default centOS 8 preinstalled MySQL, root has no password
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.21 Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
4.3 create database
CREATE DATABASE hercules;
4.4 select hercules database as default
USE `hercules`;
4.5 create another user, not recommend to connect as root
CREATE USER 'annie'@'localhost' IDENTIFIED BY '1234';
4.6 grant this user privilege
GRANT SELECT,INSERT,UPDATE,DELETE ON * TO 'annie'@'localhost';
4.7 then quit
quit
it should show like this
mysql> quit
Bye
[annie@centos ~]$
4.8 goto sql-files directory
cd /home/annie/Hercules/sql-files/
and run all these
mysql -u root -p hercules < main.sql
mysql -u root -p hercules < logs.sql
mysql -u root -p hercules < item_db_re.sql
mysql -u root -p hercules < mob_db_re.sql
mysql -u root -p hercules < mob_skill_db_re.sql
it should show like this
[annie@centos ~]$ cd /home/annie/Hercules/sql-files/
[annie@centos sql-files]$ mysql -u root -p hercules < main.sql
Enter password:
[annie@centos sql-files]$ mysql -u root -p hercules < logs.sql
Enter password:
[annie@centos sql-files]$ mysql -u root -p hercules < item_db_re.sql
Enter password:
[annie@centos sql-files]$ mysql -u root -p hercules < mob_db_re.sql
Enter password:
[annie@centos sql-files]$ mysql -u root -p hercules < mob_skill_db_re.sql
Enter password:
[annie@centos sql-files]$
4.9 go back login mysql and change inter-server connection password from s1/p1 into qwer/asdf
mysql -u root -p
and
UPDATE `hercules`.`login` SET `userid` = 'qwer', `user_pass` = 'asdf' WHERE `account_id` = 1;
5. Compile Hercules
go back to annie/hercules folder
cd /home/annie/Hercules/
5.1 type ./configure
./configure
OK STOP, many things can go wrong here, I stuck here for a few days and searching on both rathena and hercules forum for answers
the correct output from putty should be this
checking mysql.h presence... yes
checking for mysql.h... yes
checking whether my_bool is supported (MySQL)... no (converting my_bool to bool)
checking MySQL library (required)... yes (8.0.21)
checking PCRE library... checking pcre.h usability... yes
checking pcre.h presence... yes
checking for pcre.h... yes
checking for library containing pcre_study... -lpcre
checking for doxygen... no
checking for perl... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/common/Makefile
config.status: creating 3rdparty/mt19937ar/Makefile
config.status: creating 3rdparty/libconfig/Makefile
config.status: creating 3rdparty/libbacktrace/Makefile
config.status: creating 3rdparty/libbacktrace/backtrace-supported.h
config.status: creating src/char/Makefile
config.status: creating src/login/Makefile
config.status: creating src/map/Makefile
config.status: creating src/plugins/Makefile
config.status: creating src/test/Makefile
config.status: creating tools/HPMHookGen/Makefile
config.status: creating tools/doxygen/Makefile
[annie@centos Hercules]$
if it doesn't show config.status: at the end, open a new topic in Linux support
if it's the same as mine, then can proceed with
5.2 compile hercules
make sql
finally compile should show like this
CC party.c
CC path.c
CC pc.c
CC pc_groups.c
CC pet.c
CC quest.c
CC refine.c
CC rodex.c
CC script.c
CC searchstore.c
CC skill.c
CC status.c
CC storage.c
CC stylist.c
CC trade.c
CC unit.c
CC vending.c
LD map-server
make[1]: Leaving directory '/home/annie/Hercules/src/map'
building conf/import folder...
[annie@centos Hercules]$
6. configure Hercules
6.1 start hercules by
./athena-start start
https://github.com/AnnieRuru/customs/blob/master/server hosting/28.png
of course the reason why connect to SQL failed is because haven't configure Hercules so ....
stop it from running for a moment
./athena-start stop
6.2 login to WinCP
https://github.com/AnnieRuru/customs/blob/master/server hosting/29.png
... I will assume you know how to change your public IP address on hercules
the file you should change are
map-server.conf
- userid: "qwer"
- passwd: "asdf"
- map_ip: "35.213.138.42"
- char_ip: "35.213.138.42"
char-server.conf
- userid: "qwer"
- passwd: "asdf"
- login_ip: "35.213.138.42"
- char_ip: "35.213.138.42"
conf\global\sql_connections.conf
-db_hostname: "localhost"
- db_port: 3306
- db_username: "annie"
- db_password: "1234"
- db_database: "hercules"
conf\network.conf
.....<let me test this thing again> ....
<--- I will assume everyone reading this guide already know how to host an offline server, if not click here -->
now run ./athena-start start again, and this time map-server couldn't connect to char-server
7. Configure firewall
7.1 run these 3 commands
sudo firewall-cmd --permanent --add-port 6900/tcp
sudo firewall-cmd --permanent --add-port 6121/tcp
sudo firewall-cmd --permanent --add-port 5121/tcp
7.2 reload the firewall settings
sudo firewall-cmd --reload
7.3 go back to Google Cloud,
https://github.com/AnnieRuru/customs/blob/master/server hosting/30.png
to create firewall
https://github.com/AnnieRuru/customs/blob/master/server hosting/31.png
configure the firewall
https://github.com/AnnieRuru/customs/blob/master/server hosting/32.png
2. & 3. configure firewall only to this project
https://github.com/AnnieRuru/customs/blob/master/server hosting/33.png
4. at 'tcp:' tab, only allow these 3 ports
https://github.com/AnnieRuru/customs/blob/master/server hosting/34.png
7.4
run ./athena-start start again.
then goto https://portchecker.co/ and check your port is open
https://github.com/AnnieRuru/customs/blob/master/server hosting/35.png
And Finally go to your client edit data/sclientinfo.xml to the WAN IP and
VIOLA !! DONE !!
I can connect my client to google cloud
PS: the port checker website only shows Port 6900 is OPEN. only if fulfill these 3 conditions
1. enable firewall setting on CentOS
2. enable firewall setting on Google Cloud
3. run the emulator by ./athena-start
Ok now you can start worry about security issue like adding additional user in CentOS
https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-a-centos-7-server
google cloud doesn't seem to allow login that way -> https://stackoverflow.com/questions/52503453/how-to-login-gcp-console-without-ssh
and mysql root account password change ...
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
etc...etc...
need more research
Connect to MySQL in CentOS 8 using Window's MySQL Workbench
1. add another connection
https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql1.png
2. under 'Connection Method', select 'Standard TCP/IP over SSH' https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql2.png
3. configure these fields
3.1 SSH hostname is the server IP address
3.2 SSH username is the name you created with PuttyGen
3.3 SSH keyfile needs a conversion with PuttyGen
3.4 and Click [Test Connection]
https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql3.png
4. the SSH keyfile needs to be convert from PuttyGen
4.1 load existing private key, in this case was 'annie.ppk'
4.2 click conversion and save as 'annie' without file extension
https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql4.png
5. if successful it will show like this
https://github.com/AnnieRuru/customs/blob/master/server hosting/mysql5.png
then you can login into MySQL in CentOS
did I forgot to mention needs to open the port 3306 in CentOS and Google Cloud ? refer back to step 7
After thought :
Overall I'm very satisfy with Google Cloud service,
1. free $300 credit to spend
2. can always register trash gmail account to make the credit infinite
- of course the IP will always change if you do so
3. very low latency from Malaysia connect to Singapore - just 30~40ms ping
I haven't try OVH which everybody is recommending, but they doesn't offer immediate free credit for me to test so meh .....
and I notice Hercules's wiki CentOS guide is broken, maybe I'll fix it
https://github.com/HerculesWS/Hercules/wiki/Installation-(CentOS)
- offtopic -
over last few days playing with google cloud, when I visit Youtube, all my advertisement become Monday.com etc etc group project stuffs
google really knows how to collect my data
eamod's `@itemdestroy` doesn't include cards
so `@itemdestroy 4001` will not destroy the poring card that already slot into the equipment
the purpose of this mod is just to remove certain ... event related items I guess
.... hmmm ....
upon reading the code, I don't really think this will work ... let me test
#include "common/hercules.h"
#include "map/pc.h"
#include "map/itemdb.h"
#include "map/storage.h"
#include "common/nullpo.h"
#include "plugins/HPMHooking.h"
#include "common/HPMDataCheck.h"
HPExport struct hplugin_info pinfo = {
"itemdestroy",
SERVER_TYPE_MAP,
"0.1",
HPM_VERSION,
};
ACMD(itemdestroy) {
int nameid = atoi(message);
if (itemdb->exists(nameid) == 0) {
clif->message(fd, "Enter a Valid Item ID. Usage: @itemdestroy <itemid>");
return false;
}
int i;
struct map_session_data *psd;
struct s_mapiterator *iter = mapit_getallusers();
for (psd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); psd = BL_UCAST(BL_PC, mapit->next(iter))) {
for (i = 0; i < MAX_INVENTORY; ++i) { // Inventory Removal
if (psd->status.inventory[i].nameid != nameid)
continue;
pc->delitem(psd, i, psd->status.inventory[i].amount, 0, 0, LOG_TYPE_COMMAND);
}
for (i = 0; i < MAX_CART; ++i) { // Cart Removal
if (psd->status.cart[i].nameid != nameid)
continue;
pc->cart_delitem(psd, i, psd->status.cart[i].amount, 0, LOG_TYPE_COMMAND);
}
for (i = 0; i < VECTOR_LENGTH(psd->storage.item); ++i) { // Storage Removal
struct item *sitem = &VECTOR_INDEX(psd->storage.item, i);
nullpo_ret(sitem);
if (sitem->nameid == nameid)
storage->delitem(psd, i, sitem->amount);
}
storage->close(psd);
if (psd->status.guild_id > 0) { // Guild Storage Removal
gstorage->open(sd);
struct guild_storage *stor;
nullpo_ret(stor=idb_get(gstorage->db, psd->status.guild_id));
for (i = 0; i < MAX_GUILD_STORAGE; ++i) {
if (stor->items[i].nameid != nameid)
continue;
gstorage->delitem(psd, stor, i, stor->items[i].amount);
}
gstorage->close(psd);
}
}
mapit->free(iter);
return true;
}
HPExport void plugin_init(void) {
addAtcommand("itemdestroy", itemdestroy);
}
yup doesn't work, the guild storage opens up, and there are delay between map-server and char-server when determine the client actually accessing the guild storage or not
in fact, eamod's item destroy doesn't even include guild storage or mail removal
/*==========================================
Item Removal
*------------------------------------------*/
void pc_item_remove4all(int nameid, bool char_server)
{
if( char_server )
chrif_item_remove4all(nameid);
else
{
struct map_session_data *sd;
struct s_mapiterator* iter;
int index;
iter = mapit_getallusers();
for( sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC*)mapit_next(iter) )
{
for( index = 0; index < MAX_INVENTORY; index++ )
{ // Inventory Removal
if( sd->status.inventory[index].nameid != nameid )
continue;
pc_delitem(sd, index, sd->status.inventory[index].amount, 0, 0, LOG_TYPE_COMMAND);
}
for( index = 0; index < MAX_CART; index++ )
{ // Cart Removal
if( sd->status.cart[index].nameid != nameid )
continue;
pc_cart_delitem(sd, index, sd->status.cart[index].amount, 0, LOG_TYPE_COMMAND);
}
for( index = 0; index < MAX_STORAGE; index++ )
{ // Storage Removal
if( sd->status.storage.items[index].nameid != nameid )
continue;
storage_delitem(sd, index, sd->status.storage.items[index].amount);
}
for( index = 0; index < MAX_EXTRA_STORAGE; index++ )
{ // Extra Storage
if( sd->status.ext_storage.items[index].nameid != nameid )
continue;
ext_storage_delitem(sd, index, sd->status.ext_storage.items[index].amount);
}
}
mapit_free(iter);
}
}
this idea is fantastic, only in theory, but doesn't work on live server
better just run DELETE syntax from MySQL and remove the item when server is offline
< Alayne's Script Collection >
After several asks, here's a link to my github
Feel free to comment or add anything that might be usefull and that I won't think of
I've decided to release my scripts here, it'll be easier to me so I can duplicate it on hercules and rathena rather than uploading twice. So sorry for multiple upload between there and download section
Don't mind the name Nyliar in the git, that's me too ^^
tested with
prontera,155,185,5 script dfgsfgdfg 1_F_MARIA,{
pet 0;
}
//prontera mapflag nopettame
there are several problems with this plugin though
1. I tested with unripe apple, and the item still being deleted, because it seems hercules has changed pet taming items from IT_DELAYCONSUME(11) into IT_USABLE(2)
2. Sage's hocus pocus has SA_TAMINGMONSTER skill also can catch pets, so nope, I couldn't just give back the items, since give back items also mean sage will get free pet taming items
DISCUSSION !!!
lazy to think anymore .... go to sleep now brrrr...
yeah I bet everyone still using version 2.9, that outdated version from eathena
honestly there isn't much change with previous version, version 2.9 still works fine if you know how to fix it
if your server has custom animation sprite, remember to set .fix_custom_sprite to true
Questions:
when people ask to make modification to this script, it always comes down to these 2
1. monthly/weekly reset
ladder will reset monthly or weekly ... self explain
2. "@dotaannounce" off
hmm ... after talked to some people, they want the announcement set to global, but then some players want to see who are dead, and some players doesn't bother
and I also saw this is a custom modification ... can be made into this script but ... nah ... I'll do it when I feel like it
Description: Adds the @adopt command to your server.
Usage: @adopt <char name>
The adoption feature exists in the source. However, from experience, some clients don't support the right-click menu option to adopt players, rendering the feature unusable. Perhaps this atcommand should be added to the main repo.
For now, you can use this to allow your players to use the adoption system.
Download: https://github.com/bWolfie/HPM-Plugins/blob/master/src/plugins/adopt.c
oh thanks for the yellbox ... I was just about to edit the title though
ok time to try out the command
prontera,159,183,5 script pcre_match 1_F_MARIA,{ input .@t$; if ( "([a-z])$" ~= .@t$ ) npctalk "It's a "+ $@regexmatch$[0]; close;L_1: npctalk "It's a "+ $@p2$; end;OnInit: defpattern 1, "^[^:]+: (|d{2})?([a-z]).$", "L_1"; activatepset 1; end;}prontera,155,183,5 script regexp 1_F_MARIA,{ input .@t$; if ( regexp("([a-z])$", .@t$ ) ) npctalk "It's a ... "; close;}
Haru's regular expression ...this is bug ... why that only accept a,z,- ... three characters only
regexp in this plugin is accurate, can accept anything between abcde...z
but cannot export the result set
the symbol for the end line, has to be $
defpattern ... works great as many members already using it
but the symbol for the end line, has to be .$
Let me explain it first.
It is ExtendedBG, which tends to contain all eAmodBG modes and extra modes(as and when coded).
Some Previews:
http://imgur.com/a/2SSVR
Ohh, and the last thing I forgot to tell,
Its 100% Plugin and Script, no Source Edits ..
Special Thanks To:
jaBote co-founded this project(and really thanks to him , that he motivated me at start at provided some functions and idea of how the base should be, and what we should do it to give flavor of Hercules in it).
Repository Link: https://github.com/dastgirp/eBG (Please read README.md for installation steps)
Leave Comments/Suggestions if you find something.
NOTE:
There might be some(/many) debug messages left in map-server which will be cleaned up.
I will add battle.conf soon (you have to add it yourself for now or edit the plugin)
The plugin might be a big mess to read/understand (I did many experiments over the year)
There might be some bugs
Thanks to @Rebel and @Myriad for testing and providing initial feedback
Contact me on Discord: @Dastgir#1460 if there's some urgent issue or else open the issue in github. keep this topic for support.
I've used plenty of proxy servers, so this is just a heads up from my experience.
VPS are a waste of time as far as proxy servers are concerned. I had some really expensive vps in some of the Asian and S.A. countries and they helped very little or slowed down most people. This is because most vps use a crap port speed which doesn't help anyone. But I even upgraded the port speed to 1 Gbps on some and still didn't help. Shared connection is a bish.
I had the same experience with cloud servers. These all claimed 1 gbps port speeds and great connection, but same result.
My positive results have been and continue to be dedicated servers as proxies. Sure it's significantly more expensive, but players that use dedicated proxies confirm that the delay and ping are noticeably better. You can slightly reduce the cost if you do not get the proxy ddos protected and just set up the ip to get nullrouted if it gets spammed. That way people can just go on your main ip in case of an attack.
Location of proxies is extremely important. I'll use Brazil as an example since this is here we found this to be very important. We first got a proxy somewhere towards the middle of Brazil, since we could target the most people. Even though people there have crap connections, the ones that were further up north than the proxy ended up getting more delay by using the proxy. That's because our main server was in Canada. The people that were coming from southern Brazil had a better connection using the proxy than going directly to the main.
Lastly to the people that say proxies don't help, you are right for the most part. You have to set it up properly and get proper equipment for it to make any noticeable difference. But doing it right does help quite a lot of people. We are currently running a West Coast proxy optimized for Asian connections and about 20-30% of our total players use it over the main connection.
Just my own experience in the matter.
Fixed. Found the error. Looked it up and my langtype wasnt corresponding with my service and server type. As well as the password encryption lines.
Removed the <passwordencrypt /> and <passwordencrypt2 />. Changed langtype to 0, service type to korea, server type to primary. And used Nemo patcher to make the YourRO.exe with 45 different patches!
Really good work by everyone on this forum. I didnt get much help but perserverance payed off.