Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/01/17 in all areas

  1. Your problem is not new. A problem with lags can be divided into two global parts, then by extra sub-parts of each global part. Server-side problems Explained in order and priority what you need to check first, step by step, and what affects more. Overloaded node (dedicated server) where you are hosting your VPS. You can see good CPU, Good Memory, but you always will lag even if your resource usage too low. Because you will not see how others clients of a hosting company utilize resources. I can write a very long wall of text about a hosting company and how they are cheating to their customers with different virtualizations (OpenVZ for example), or constant network issues (available well-known list of global networks which is very poor). Usually switching to a new reputable provider with an average price at the market enough for achieving stable server without lags. CPU. *athena emulators are single-thread apps. That means you must have always as powerful single core performance as you can. A lot of providers cheating even about what CPU they are using by closing access to cpuinfo and other parts of a Linux hardware to identify what a processor used at a node. Your rule is simple: stick only to e5, e3 (for example e3-1230v4, 1230v5, 1230v6), or even for Intel i7 cores at least 3-4-5-6-7 generation). Also for you very important good clock speed, you need at least 2.5Ghz for running smoothly a server at WoE with up to 400 players online. If you have bigger online, you need better CPU core (and of course I'm talking about fair providers which give you guarantee resources, or at least not doing overloading to their nodes by hosting a lot bigger amount of customers that host node can manage). Stay away from any atoms, any Celeron, opetrons, 1, 2, 3 generation of i3, i5, i7 processors, e3, e5, e7. And of course stay far away from any AMD processors, they are much worse than Intel's one. And for sure such processors will be way cheaper than normal productive one. Virtualization. Your ideal solution will be a dedicated server without any virtualization. But it's wasting resources and in many cases money. Average price for dedi server on providers with good price/performance rate starts from 40-50$. And you must follow requirements above and below to hardware, and you will find that not too much providers offer great prices for great resources. Usually, you will see tons of crap for that price, but it possible to achieve something good. But if back to virtualization, and if you can't buy dedi, you must stick only with KVM, VMWare virtualizations only. I wont to explain in a very big wall of text with details why any other virtualization is crap but stick only to these two. Stay away from any OpenVZ, and Xen, and you will be fine. Storage. You must know that network it's about opening FILES on your file system which called "sockets" where data were written and from where it taken. It's all about files. If you have a big amount of players, and a lot of connections and packets, that means a lot of I/O operations happened. That means you must always be hosted on any SSD/NVMe drive. SSD has much higher I/O rate. But again, remember always a simple thing, that providers have a very big competitive market where "price per point' wins. That means they will try to minimize their price as maximum as they can. For example by offering SSD, yes, it's SSD, but the cheapest model from a no-name company with very low IO rate (yea, it will be higher than at HDD, but not so good as it excepted or can be). First, what you need to do if you will buy VPS or Dedi it's testing disk drive system for IOp's and google good average amount for it. It will help you very much for your MySQL, for your connections, for most everything. Network. DDoS protection it's must have option if you wish to survive. But the problem of DDoS protection in next: - DDoS protection SHARE all their capacity between ALL customers. So all of the customers ALWAYS has the same risks for lags if some shit will happen (unexcepted big DDoS attack to some of the customer, what will affect all other clients of the same provider if they will not have enough mitigate capacity). If your server has not a big risk of DDoS attacks, stick to any provider which has "auto" sensors in detecting a DDoS attack, or with who you can manually force-enable permanently mitigation what will analyze all traffic. Why is it important? Because you will not have many problems and downtimes at a time when you have no DDoS attacks from attackers, and if DDoS will happen, your server will just one time go down and then you will force enable protection and will wait until attacker will leave your project, and then you will manually off protection. If you think reputable providers with a lot of experience already knew what they are doing for your game server - you are very wrong. They are tunned for most popular game projects only, and not tuned for MMOPRG where ppps can be very different in different time zone. I have tried very big amount of providers (dozens) all of them cheap, "vip" all of them are piece of shit, and if a really hurt attack comes to your serveer only one thing is different betweeh tnem -> price for mitigation and how many money you are ready to spent to protect your server. If you think that some providers has "very good protection, unbypassable" be s sure you are wrong, and you did'nt saw yet at your server how can all very good protections be bypassed and your server will die. It's related to attacker only. If you will have good competition with some server what offer the same feaetures as you in one day to receive attaack what will totally block aaccess to your server. So for what need to pay more, if you can just get DDoS protection with average price and turn it on / off at a time when you need it? My main point in next - you are not able to protect your game server without big investments to the project and building a huge network around with different routes to your server, and in 90% cases DDoS protected network will provoke lags. So for what to use it 24/7 and provoke lags for everyone, if you can turn it on in days when shit will happen? Software and kernel tuning. Usually, this is not needed if you are using latest kernel and latest versions of software. Developers knows much better then you how utilize your VPS / Dedi resources. Keep it untouched, just make sure you arae using latest versions of everything. Rathena settings, as you see this is a latest possible reason of lags, and it's has lowest priority. Why? Because if you have loops, or even tons of problems with NPC's you will see huge resource usage from emulator and will try to investigate and analyze where is a problem and fix it. Client-side problems RO client is highly unoptimized. And people can lag (and already lags) on top-tier PC's with i7-7700K + GTX 1080ti. or RX580 It's normal for RO. Force people to use RCX solutions. Cheats. with 99% chance i can guarantee that you lag at WoE only because of cheaters at your server. Cheats provoke very high ppps to/from server. Using problematic exes. I know only few exes which works smooth in battles like WoE, it's 2010-06-18, 2010-07-30, 2012-04-10, 2013-08-07, all other clients has different problems, even clients higher then 20131-08-07 have problems with different lags. Game protection can be a reason of lags. Yes, you got me right. In 90% cases the problem beside cheaters is anticheat software what provoke fps, and not only lags. What you need to do Find any dedi server or good KVM / VMWare VPS with SSD, with tier1, tier2 network and good CPU. It's will be enough to be sure that the problem not at your side. Suggest your players to disable cheats, and let them use RCX like solutions to minize effects in the game. Switch exe to one of above, and everything will be good. Buy any system which add delays for processing actions from client-side at a server.
    3 points
  2. Version 1.0.0

    304 downloads

    Hello rAthena! Today I release this little tool: It allows you to quickly populate new groups. Small Guide: 1. Download and unzip the tool. 2. Copy your item_randomopt_db.txt into the unzipped path. (Replace the File inside) 3. Run the Tool. 4. Insert your GROUP_ID to use in the First textbox. 5. Select any option in the first box 6. Add the minumum and maximum value. 7. Click Generate. 8. Now the bottom box will output the combination of all your options chosen and it will min/max the values. Example: I want that the Item option roll 1000 or 2000 HP and 100,200 or 300 SP. That is 2x(HPin 1000Steps) times 3x(SP in 100Steps)
    Free
    2 points
  3. since you are using sql to get the player name you can get the vinding too from sql in vendings table check if the player id = vinding if not = give him the items if it's = search for another player it would be hard a little however there is this command >> if(checkvending() == 0) {//not vinding} if(checkvending() ==1){//vinding} i would suggest seen this if you want to change your script
    1 point
  4. They're all beautiful, I just love how a few changes such as modified lightning and a change of textures can give maps a complete over-haul in expression, while maintaining the original way it's setup. Well done!
    1 point
  5. Hello there @nikita54421, set item_rate_card_mvp: 1000 and the normal drop to 2500 ex: item_rate_card: 2500 here an explanation: 100 = 0.01% 1000 = 0.1% 10000 = 1% 100000 = 10% 1000000 = 100%
    1 point
  6. the 3rd one <3 is it ready yet?
    1 point
  7. An event-driven plugin system is planned.
    1 point
  8. YAML parsing support and C++ support update As of Git Hash: 4a2574c, rAthena has an additional configuration file format support which is YAML. It was made possible by a third-party library we have choosen, yaml-cpp. YAML stands for "YAML Ain't Markup Language". It is widely used as a human-friendly configuration file format and supported by many modern text editors, unlike Libconfig which is the format we currently use. If you still want to stick with C (why?) You can take a look at our newly added C wrapper for yaml-cpp, C++ third-party library we are currently using here. I've also attached my own example on using the C wrapper below. Another noteworthy is that rAthena now fully supports C++ source file compilation on both major operating systems, Windows and Linux. This means you can let your inner C++ talent go wild, write stuffs in cleaner C++11 way, and many possibilities you could think of. That's all for this announcement. Secret out! refinedb_yaml.diff
    1 point
  9. There are none command to force the pet to return into its eggs, but you can restrict the access to the map. prontera,163,185,5 script warp event 56,{ if ( petstat(PET_CLASS) ) { mes "You can enter with your pet."; close; } warp "<event map>",0,0; end; } + mapflag itemnoequip and restricted like Kido said.
    1 point
×
×
  • Create New...