Jump to content

sonyk2

Members
  • Content Count

    11
  • Joined

  • Last visited


Reputation Activity

  1. Like
    sonyk2 reacted to Caspian in help with F Ticket AddVip wanted to integrate it with the npc I have   
    First you need to type in english, here is an international community.
    If you want support in your mother language, you should have opened a topic in the portuguese support section.
  2. Like
    sonyk2 reacted to hadiesyafiq in Request script display time left for vip account   
    Thank you very much sir @Kenpachi all working nice
  3. Like
    sonyk2 reacted to Kenpachi in Request script display time left for vip account   
    Open script file in editor. Find the line which contains query_sql "DELETE FROM `viptable` ...... Set cursor to the end of that line (click behind the semicolon) Press Backspace. Save file. You'll notice that the semicolon wasn't removed, because you deleted the hidden character (whitespace) behind it.


    ~Kenpachi
  4. Like
    sonyk2 reacted to hadiesyafiq in Request script display time left for vip account   
    Can you teach me how to fix ?
  5. Like
    sonyk2 reacted to hadiesyafiq in Request script display time left for vip account   
    i got this error @Kenpachi

  6. Like
    sonyk2 reacted to hadiesyafiq in Request script display time left for vip account   
    Thanks @Kenpachi
  7. Like
    sonyk2 reacted to Kenpachi in Request script display time left for vip account   
    Hi.
    Alter your SQL table:
    ALTER TABLE `viptable` ADD COLUMN `insert_on` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER `email`; Or recreate it:
    DROP TABLE IF EXISTS `viptable`; CREATE TABLE `viptable` ( `vipacc_id` int(11) unsigned NOT NULL default '0', `vip_id` varchar(255) NOT NULL default '', `days` int(11) NOT NULL default '0', `email` varchar(39) NOT NULL default '', `insert_on` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`vipacc_id`), KEY `name` (`vip_id`) ) ENGINE=MyISAM;
    Change your function (note line 2):
    function script F_TicketAddVip { Query_SQL "DELETE FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"' AND DATEDIFF(DATE_ADD(`insert_on`, INTERVAL `days` DAY), NOW()) < 0"; // remove expired VIP status before reapplying Query_SQL "SELECT `days` FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"'", .@checkDays; if (.@checkDays > 0) { Set .@setDays, (.@checkDays + 30); Query_SQL "UPDATE `viptable` SET `days`='"+.@setDays+"' WHERE `vipacc_id`='"+GetCharID(3)+"'"; Query_SQL "SELECT `group_id` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", .@userLevel; If (.@userLevel < 1) Query_SQL "UPDATE `login` SET `group_id`='2' WHERE `account_id`='"+GetCharID(3)+"'"; } Else { Query_SQL "UPDATE `login` SET `group_id`='2' WHERE `account_id`='"+GetCharID(3)+"'"; Query_SQL "SELECT `userid` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", .@userID$; Query_SQL "SELECT `email` FROM `login` WHERE `account_id`='"+GetCharID(3)+"'", .@userEmail$; Query_SQL "INSERT INTO `viptable` (`vipacc_id`,`vip_id`,`days`,`email`) VALUES ('"+GetCharID(3)+"','"+.@userID$+"','30','"+.@accEmail$+"')"; } AtCommand "@reloadpcdb"; dispbottom "You received 30 days of VIP Account, congrats!"; specialeffect2 338; End; Return; }  
    The info script could look like this:
    - script VIP_STATUS FAKE_NPC,{ OnPCLoginEvent: if (getgroupid() >= 2) { Query_SQL "SELECT DATE(DATE_ADD(`insert_on`, INTERVAL `days` DAY)), DATEDIFF(DATE_ADD(`insert_on`, INTERVAL `days` DAY), NOW()) FROM `viptable` WHERE `vipacc_id` = '"+GetCharID(3)+"'", .@expire_date$, .@days_left; dispbottom "========================"; dispbottom "Account Status : VIP"; dispbottom "Expire Date : " + .@expire_date$; dispbottom "Time left : " + .@days_left; dispbottom "========================"; end; } }

    ~Kenpachi
  8. Like
    sonyk2 reacted to hadiesyafiq in Request script display time left for vip account   
    hi all i use vip script base on group id...but how to put message expired time for that script?i need change the script?i need alter SQL table? can someone teach me?
    here vip script that i use..
    here SQL table
    here the script can someone teach me how add?
     
  9. Like
    sonyk2 reacted to Kenpachi in Request script display time left for vip account   
    There is a hidden character behind the semicolon in that line. (Probably caused by text encoding mismatch.)
  10. Upvote
    sonyk2 reacted to AnnieRuru in hosting Hercules on Google Cloud with CentOS 8   
    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.3 pin these 3
    - billing
    - compute engine
    - VPC network
    https://github.com/AnnieRuru/customs/blob/master/server hosting/6.png
     
    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
     
     
    3.3 Download Hercules
    git clone https://github.com/HerculesWS/Hercules.git ~/Hercules  
    4. SQL
     
    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
     
    Reference: https://stackoverflow.com/questions/21527743/mysql-workbench-version-6-0-8-ssh-authentication-issue
     
     
    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
  11. Upvote
    sonyk2 reacted to Dastgir in [Release] ExtendedBG for Hercules (with eAmod BG modes)   
    Hello Hercules Community,
     
    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.
     
    Want to encourage me??

     
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.