Jump to content

Cappuccino

Seller
  • Posts

    47
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by Cappuccino

  1. Cappuccino

    New Aeldra

    Thank you, I made the website for them and worked a lot around the clock to finish it quickly and add all the requested features. It is an heavily modified version of my CMS (https://metin2.dev/marketplace/m2-lonvel-cms-v2-automatic-payments-itemshop-single-page-app-r109/). [SA]CryTek wanted it to be 100% identical to the old Aeldra website with some improvements. In the back office there is a lof of stuff to administrate the server for Game Admin and Game Masters. Unfortunately, he told me he had some problem and disappeared. Last time I heard him was before xmas. He still owes me money for some features I delivered and haven't been paid yet. At this point I don't know if they will be ever paid, but I will consider carefully what to do with Aeldra website. I'm am very patient and I am sure [SA]CryTek has a valid reason for disappearing. He told me he had some personal problem but I would have liked to receive even a message on Discord about what is happening.
  2. I wrote a generic script. If you want to use any specific item shop you need to adapt it. I didn't downloaded that item shop, but you need to edit the authentication part to make it accept GET requests coming from the server.
  3. This is the definitive website you are looking for you M2 server. It has everything you need, it’s well written, highly customizable, secure and performant. The whole website (except for the admin panel) is a SPA (Single Page Application). This means that when you click on a link or visit a new page the page will me immediately loaded without the “loading effect” in your browser. The key features are: Instant page reload Coded with the latest version of PHP, Laravel and Livewire. At the moment the website runs only on the latest version of that technologies, which are PHP 8.3 , Laravel 10 and Livewire Clean code and neat separation between backend and frontend (no spaghetti code like in m2cms) Fully automatic item shop + automatic payment methods Advance admin panel to manage the website Easily customizable (if you have a bit of knowledge about such technologies) or you can always ask me Frequent updates (have a look at the changelog page here below for proof) Managed or unamaged service - if you don't know how to setup a web server I can manage it for you The description of the features packed in my CMS is updated very often and you can read more about it in the following links. Features description -> Click here Changelog (latest updates and bugfixes) -> Click here Pricing (different plans available + info about customizations) -> Click here Support policy -> Click here Live demo -> Click here Contant me on discord for any question
  4. If you run gmake it will only compile files you have modified, not everything from the beginning if file dates aren’t fucked up - ya smart boi
  5. Unfortunately, many users don't know how to use crypto I see some servers using e-payouts or paygol (I also see some minecraft server using them) I was able to find this:
  6. I want to integrate new payment gateways in my CMS so I'm running this quick poll. Which payment gateways are you using to accept payments for your server? Many payment gateways do not accept game servers because they are considered high risk business.
  7. Maybe some item is missing in the item list?
  8. I can say that probably the bug is in uitooltip.py
  9. I tried this in the past, it doesn't support FreeBSD at the moment
  10. when 9003.chat."Warp me" begin if not pc.can_warp() then say("Please wait 10 seconds before teleporting") return end say("You need this item...") rest of your quest here... end You need to use the function pc.can_warp()
  11. You can use the lua function notice_all notice_all("message")
  12. Are you using martysama files? Here is the fix:
  13. Do you have the same values on your mob_proto? What is the value of dam_multiply column?
  14. I know that it can be improved. I didn't put much effort in it and C++ isn't my cup of tea. Everyone is free to take this code as a working base and improve it according to his needs
  15. This hwid ban works in a quite simple way and I'm pretty sure that this isn't the best way to get HWID from a computer, but nonetheless it works It was released a long time ago by someone on this forum, but that solution was awful. So I reimplemented it only in c++ without the need of an external exe and to add python code. Client File: packet.h Find typedef struct command_login3 { BYTE header; char name[ID_MAX_NUM + 1]; char pwd[PASS_MAX_NUM + 1]; DWORD adwClientKey[4]; } TPacketCGLogin3; Replace with typedef struct command_login3 { BYTE header; char name[ID_MAX_NUM + 1]; char pwd[PASS_MAX_NUM + 1]; DWORD adwClientKey[4]; char hwid[255]; // <----- } TPacketCGLogin3; File: AccountConnector.cpp Find TPacketCGLogin3 LoginPacket; LoginPacket.header = HEADER_CG_LOGIN3; strncpy(LoginPacket.name, m_strID.c_str(), ID_MAX_NUM); strncpy(LoginPacket.pwd, m_strPassword.c_str(), PASS_MAX_NUM); LoginPacket.name[ID_MAX_NUM] = '\0'; LoginPacket.pwd[PASS_MAX_NUM] = '\0'; Add under HW_PROFILE_INFO hwProfileInfo; GetCurrentHwProfile(&hwProfileInfo); Tracef("hwid %s\n", hwProfileInfo.szHwProfileGuid); strncpy(LoginPacket.hwid, hwProfileInfo.szHwProfileGuid, 254); Server File: packet.h Find typedef struct command_login3 { BYTE header; char login[LOGIN_MAX_LEN + 1]; char passwd[PASSWD_MAX_LEN + 1]; DWORD adwClientKey[4]; } TPacketCGLogin3; Replace with typedef struct command_login3 { BYTE header; char login[LOGIN_MAX_LEN + 1]; char passwd[PASSWD_MAX_LEN + 1]; DWORD adwClientKey[4]; char hwid[255]; } TPacketCGLogin3; File: input_auth.cpp Find char login[LOGIN_MAX_LEN + 1]; trim_and_lower(pinfo->login, login, sizeof(login)); char passwd[PASSWD_MAX_LEN + 1]; strlcpy(passwd, pinfo->passwd, sizeof(passwd)); add under char hwid[255]; strlcpy(hwid, pinfo->hwid, sizeof(hwid)); Find char szPasswd[PASSWD_MAX_LEN * 2 + 1]; DBManager::instance().EscapeString(szPasswd, sizeof(szPasswd), passwd, strlen(passwd)); char szLogin[LOGIN_MAX_LEN * 2 + 1]; DBManager::instance().EscapeString(szLogin, sizeof(szLogin), login, strlen(login)); Add under char szHWID[255]; DBManager::instance().EscapeString(szHWID, sizeof(szHWID), hwid, strlen(hwid)); // ENABLE_HWID_BAN // update client hwid // DBManager::instance().DirectQuery("UPDATE account.account SET hwid = '%s' WHERE login = '%s'", szHWID, szLogin); std::auto_ptr<SQLMsg> pUpdateMsg("UPDATE account.account SET hwid = '%s' WHERE login = '%s'", szHWID, szLogin); // check if client hwid is banned std::auto_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT * FROM account.hwid_ban WHERE hwid = '%s'", szHWID)); if (pMsg->Get()->uiNumRows > 0) { LoginFailure(d, "BLOCK"); printf("Account %s HWID ban - tried to login\n", szLogin); sys_log(0, "Account %s HWID ban - tried to login\n", szLogin); return; } // end HWID BAN Database Add a new column called "hwid" (varchar 255) to table account. Create a new table in the database "account" and call it hwid_ban. Inside this table put a column called "hwid".
  16. From HentrixTools you can also get information about memory usage, cpu usage, network usage etc... and log them (but you have to configure a php deamon for freebsd, however instructions are on hentrixtools website ) So you can also monitor server resources usage which is nice
  17. This is a pretty simple tutorial in which I'll show you how to get notified via email (or sms, but this feature is not free) when your server goes offline or is not reachable for some reason. I personally suggest and use HetrixTools, which will be also used in this tutorial. Step 1) First of all, you want to create an account on HetrixTools website. Step 2) After you have logged in, from the main menu click on Tools -> Uptime montitors. and then click on Add monitor to add a new server. Step 3) A window will pop up. As monitor type select "Ping/Service monitor". Then fill up the form as follows: In the "Monitor from" section you have to select 4 locations. Choose them according to the continent where your server is hosted. For example, my server is hosted in France and I picked these four locations: Then click on "show advanced settings" and change "Number of tries" to 1 (or 2) and finally click on "Add monitor". Now you will be notified if your server goes offline and you will have your personal server status page with detailed information
  18. You have to purchase an item shop script or get one for free in the internet and host it on your server. You have just to throw the ishop folder inside /var/www
  19. Which freebsd version are you using? Have you installed php from pkg?
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.