Ueda

Administrator
  • Posts

    4,892
  • Joined

  • Last visited

  • Days Won

    686

Everything posted by Ueda

  1. Added Rebirths Counter This will be used in the future (potentially) for a Rebirths rewards system. If you reset your character at max level you'll increase the rebirths counter. Applied swear filter to Sticky Pads No more fricks! Added Hide/Unhide button to Raid-In-Progress bar Fixed Raid-in-progress bar resetting position every map change Added more debug information for a bug/issue Blessing Counter no longer resets when character is reset Fixed Sealable Scrolls III Blank Scroll Roll giving Sealable Scroll II instead Fixed /payrent not visually updating on the client side Fixed Item Counters showing the wrong amount visually on hotbar Fixed crashing bug that occurs due to targeting, jutsu and map switching
  2. Important Notice Because of the huge reworks done to inventories/items/item stacks/storages, there is a possibility we may have introduced dupe bugs unknowingly. This is unlikely, but there is a possibility. If you find a way to glitch/dupe items, we will reward you with a large cash & ninja credit reward. Report any such issue here. Furniture Placing/Pick up Sound Effects Different furniture play different sounds when placed/picked up. Blessings from today onwards are now recorded so we can give out rewards in the future This is part of a plan to reward players who contribute a lot to the game by donating to bless the server and helping newer players. The monk in each village will tell you how many times you've blessed the server to date for now! Typing Emote When you are typing, it will now display a "..." emoticon to other players above your head to let them know you are "thinking of something". Raid-in-Progress Bar This is still a work in progress and will be improved with your feedback, but when raids are active now, a bar will show up displaying the progress of the raid. Variable Item Stacks Items can now be set (by developers) to allow for any amount of items as a maximum stack. For example, Ninja Tools will now be set at 50 max per stack, but allow for as many stacks as the player has free, while as an example, Toad Oils or Blood Pills can be set to a maximum of 200 per stack, and only one stack allowed to be carried at once. As a reminder, you can split & combine stacks with the shift key + dragging items. Note: Existing Stacks of Items that are above the limit will not be affected as a way to support legacy accounts without losing data. Storages Part 2 This is a big round up to changes in the beta storage feature. Storages can now only store a specific kind of item type. Eg. Consumables, Furniture, Weapons This will be useful when we want to make it so a weapon rack can only hold weapons and refridgerators can only hold food/potions. Added Ryo Storage to Storages Currency and All Item storages can now hold Ryo Public/Private Storages Storages can be set by the owner to be public/private, making it so anyone can access the items within it if they have permissions on the map. Furniture Updates Click on Furniture for Info Warning Messages for Picking up Furniture with Items Stored Furniture to store messages Signboard Furniture Feature These are explained later in the patch notes, but basically allow for Furniture to store text and use them in various ways. New Blank Scroll Sealing System You will no longer need to go to a Scribe to turn Blank Scrolls into Sealable Scrolls. You now just double click on Blank Scrolls and a menu will come up. Along with this change, Summoning Scrolls are now 1% chance for a single Blank Scroll instead of 10% chance with 10 Summoning Scrolls per roll. The old system is still there for the time being for people who prefer it. Sticky Pad Furniture Item Write and leave messages for other players! They are now available for purchase in all Furniture shops. Ninja Tools rework You can now hold up as many ninja tools as you can carry in your inventory. Each stack of Ninja Tools (eg. Shurikens, Senbons) can hold 50. You can hold multiple stacks. Refridgerators can now store Consumable Items Used Refridgerators have 7 slots. Sparkling Refridgerators have 20 slots. Tip: Use Alt + Double Click to store entire Item Slot in the storage. Added Monk To Takumi Village Monks sell World Blessings. Kaito from Takumi Village Tools Shop reworked He now sells packs of Kunai, Shuriken or Senbon at the same price as Item Packs, or a random Tool pack that can contain 100 of either of the 3 tools for an even larger discount! Storage Fix: Send Stored Items by Mail if Binded A retroactive fix, Items stored in storages that were binded before would disappear. In the first place, binded items should not be placeable within storages. This has been fixed since. Mail Mission Rewards if Inventory is Full Previously, if you finished a mission while your inventory was full, the rewards would drop on the floor or be destroyed. They now get sent to you via mail. Fix for players getting stuck in old death map with Sage of Six Path if no checkpoint has been set It will now respect your village's default spawn map. Fixed Getting on Bed Animation Old New This broke some time in the last few years and I hadn't had the time to fix it.
  3. Added Map Transition Animation options Important Notes!!! You can now opt to use only the first half of the map change animation to get a balanced experienced between visuals and speed. It disables the second half of the map change animation, where the black paint is swiping out of the screen. Part of this takes place when the map was already ready. It is still useful to keep it because at the start of you entering a map, if you move too quickly, sometimes you can get desynchronized with the server and cause some rubberbanding. But I added the option so people can see what they like more. You can also disable map transitions completely, but this is not recommended as your client hangs while the new map is loading and can look and feel bad. There's also no reason to because it doesn't make loading maps any faster. Server Restart Improvements Server shutdowns and restarts are now separate commands Admins can use /restart [X] to restart the server in X seconds Automated weekly and manual server restarts from in-game commands now take around 30 seconds vs 6-7 minutes Removed emergency server restart red text warning message false alarms from appearing frequently Fixed map change bug that has been plaguing AMD graphics card users with up-to-date drivers AMD users have been having frequently crashes on map change for awhile now. Unfortunately, AMD doesn't seem like it's going to fix it anytime soon, so I changed a part of the code that we found was linked to the crash thanks to @Kelp that sped up map caching (the first time you load each map) slightly, and this should now resolve the issue. Heavy optimizations to NPCs in relation to Player Clones Clone Technique is now re-enabled
  4. Dear Ninja, It's been a very turbulent last couple of months, we started having server issues out of nowhere in late November 2022. This was especially surprising and disorienting because at that point, we had not made any code changes to the server since about July 2022. We were sent on a goose chase to figure out why these issues were happening, and without our dear beloved (rest in peace) Robin to come rescue us from issues like this as he had in the past, we had an especially hard time. But I want to write this development log to explain why this issue was so pervasive, evasive, and abrasive, so players understand why this wasn't a simple "fix your server" kind of issue. To understand the rest of this post, you need to know what the following terms refer to: Server Software - Our proprietary, in-house server software we wrote to run authoritative logic for Nin Online and to handle networking aka. keeping players connected and sending data between them. Server Hardware - The actual machine that we rent to run the server software. This hardware belongs to a third-party company. Third Party Service Providers - Services that provide us with databases for the post part in our case, but can refer to any company that provides SaaS. DDoS - Distributed Denial of Service Attack, typically on a server, to prevent normal operations. SYN - Clients requests connection to a server by sending SYN (synchronize) message to the server. ExitLag - A shady company Phase 1: Locating Fault With a software as complicated as Nin Online. There's a lot of places fault can be found. All we knew based on player reports was the following... There are possibilities in third party service providers, client, server hardware, server hardware (OS, Networking), it could come down to almost anything. First I'll talk about what we tried in Phase 1. Restart Server Software Restart Server Hardware Check and reboot all third party service providers (MongoDB, MySQL) So basically all the things you do when you have faulty technological issues - "Have you plugged in out and plugged it in?" "Have you tried restarting your modem?" The next thing we tried was to make sure it wasn't an isolated issue with that specific server. We rented a new VPS server and hosted Nin Online there for awhile to see if it was something that was solvable that way, and if it could be down to Windows Server settings, an issue/change to do with our hosting provider, DNS issues, anything that could be isolated to server hardware/provider. This was not the case, so we moved back to the original server. From this, we diagnosed that the issue must have to do specifically with our server software. Because it happened on multiple different server hardware. A further clue was that Nin Online's Brazil Server was fine, and the Brazil server didn't have a lot of code changes that Nin Online NA had. So it was a good lead. Despite the fact that we didn't make any code changes, it is not impossible that existing code changes between that span of time could've started acting up later. Phase 2: Looking through code changes We first looked at content changes. Nin Online's engine gives a large amount of freedom to developers to create content on the fly. Although no code changes were made. It was completely possible that it was caused by a content change eg. A new map, a new item, a new NPC. But nothing really aligned with the timeline that would cause the bug. There was one thing that stood out... Erox had just launched the Christmas Event, and this year was the first time we had pathfinding changes. This led to the train of thought that perhaps it could've been that a massive amount of NPCs (Zombies) was causing the server to hang for a long amount of time, and during this time, the server could not send any data to players - hence the hanging. The caveat to this is that our pathfinding is threaded. Meaning, even if the pathfinding was hanging, the rest of the server processes should've continued fine. But to be safe, we decided to first disable all A*Pathfinding. We left the server online to see if it stopped, but it persisted. We later went back to the drawing board many times, looking at what content or code could have changed. We investigated if Erox has added any events/npcs/items etc. and forgot about them. (he didn't) The next thing I tried was to look through all the error logs that the server created. There were a dozen or so errors the server was throwing that seemed inconsequential. These could be things like a projectile/jutsu trying to target a player that was already disconnected. The server would normally ignore these errors. But I fixed them just to be sure. This didn't help either. After a few days, after discussing it with Wolf, we thought perhaps the issue could be due to threading pathfinding entirely. Threading it in the first place was a risky idea, even though necessary, because as I said, A*Pathfinding is expensive. So we decided remove threading for pathfinding. This didn't solve the issue, but it did mislead us for a few months. Phase 3: Completely misled A few weeks later, to no avail in solving the issue, we started looking to other data. Sadly, as we'll soon find out data lied. We looked at server performance while the server was having these hanging/spikes/disconnection mass events. We did this by profiling the server, looking into metrics we have been collecting for years, and we found that during increased player activity, the server showed obvious signs of degradation. I'm skimming through weeks of work to collect data, but basically our findings were that was a correlation between these hanging issues and degradation of server stats, namely TPS. The server was running less ticks per second when these issues were occuring! Hoorah, if we can figure out what is causing this, we can solve the issue. We spent weeks figuring out what the issue was that was causing the server performance drop. Clearly something was wrong with it, if we solved it, we would most definitely fix it... right...? So we started looking into the call stack and performance profilers to figure out what was causing the drops in performance. We looked at what changes could have been made around late November that could cause it. (Just note that although the graph looks like it only shows degradation in mid-December, this is only obvious now that we have a lot more data than we did in December. We found that certain packets ran processes on the server that were taking a long time to process. Namely packets/processes that interacted with MongoDB. So I spent a few days moving this these processes to Jobs (basically threading). It was possible that due to these packets not being threaded would cause a long pause where the server was just processing these on the main thread - hence causing the hanging. Unfortunately, this did not resolve the issue either. The server was optimized. There should be nothing left that took this long to process that it was bring the TPS down... except... Pathfinding. We later realized that the reason TPS was down was simply because we stopped threading Pathfinding. Pathfinding was so expensive that it single handedly was bringing TPS down more than anything. We sent ourselves on a goosechase because of what we had did in Phase 2. In hindsight, of course this was the case. But we were trying and doing so many things at once we lost track of what we had changed a little and we forget to go back to basics. We were consumed with the idea that the TPS was causing the login issues, when it wasn't. It was months of stress over trying to figure out what in the server was causing the TPS to drop that much, and it was just pathfinding. I'm glossing over days of me and Wolf diagnosing server performance. Running third party software on the server software to figure out what was causing it to hang. But this was work. Real work. Phase 4: Back to basics We went back to the drawing board and looked to what we knew as fact. The timeline of everything we knew and decided to look into what was happening during one of the disconnection events. We let the server fail in debug mode, so we could look into the internals of the server while it was having disconnections. Up until this point, the server was still functional for most of the day, it was just crashing every 24 or so hours. I was on full-time watch for the server, making sure it went back up when it was down. It had been months of this, it was stressing me out a lot. We noticed that the server had a large amount of connection sockets (TCP connections usually used to send data between client to server and vice versa). We started looking at what code issues within our login system that could be causing them to pile up without clearing. We spent weeks on this, making potential changes and hopeful fixes, to no success. One of the hardest parts of this issue was that we could not recreate it locally, so we had to rely on the live server to debug it. Each time we tried a code change, we had to wait until the next time the server crashed, so there was a lot of time when we could not do anything but wait for another crash. Sometimes code changes we made seemed to work, but really didn't. The bug would not appear for a few days, or even a full week, and then suddenly happen again. So we were constantly being thrown into "Yay we fixed it!" and "Fuck it's back". The only clue we still had was, no matter what we did, these connection sockets leaks were still happening. Phase 5: Player testimony We went back to player testimonies, hearing what people were experiencing and getting footage of what was happening what all was going down. We heard people tell us it was probably to do with Automated Tournaments, Quick Logins and various other features. So we went through rounds of disabling things and re-enabling things until we could find what was wrong. Eventually, the bug for some reason seemed to change it's modus operandi. It started manifesting as log out issues instead of login issues. Players who were logged in, were not having their characters ever log out... Curious. Phase 6: Discovery Not all players were having logout issues when there were little players online. But once there were a ton of players online (around 100) there started to be widespread logout issues. Because players were being stuck on logout, I started investigating why they weren't being logged out, since it mainly happened to a small number of individuals when the server was fresh and not very populated, I started with those users. I found that the players were having ping packets sent even when they told me that they had the Nin Online client closed. That's literally impossible I thought. Without the Nin Online client open, what could possibly be pinging the server...? ExitLag. Phase 7: ExitLag ExitLag around November last year, started using a method of "optimization" that was essentially, on scale, a SYN Flood Attack. The culprit was a third-party software that wants desperately to provide "better ping" for players. So it uses a combination of techniques to do so. One of those includes using multiple relay servers to send the same packets to our server, spamming our server with unnecessary information multiple times. It sends dozens of SYN packets per second to our server through the port our game client uses to connect to the server. It does so through distributed servers across the world. About SYN Flood Attacks https://www.cloudflare.com/learning/ddos/syn-flood-ddos-attack/ https://en.wikipedia.org/wiki/SYN_flood It doesn't even hide it. In the picture above, it shows that it's established multiple connections to our server and is constantly sending and receiving unnecessary data through it. What's scary is (we've not fully investigated this claim) but the software seems to also triple the amount of data our server sends for large packets of data like Map data. IP address/connection slot of someone using ExitLag and their source port number The reason why it was causing login issues was because it was filling up all the temporary slots allocated to TempPlayers (a method we use to verify and give real players a slot in the game) because the server had no choice but to check all these empty packets that was being sent. The reason it was causing logout issues for players not using ExitLag was because it was overwhelming the disconnection system, blocking the disconnection queue and causing a threading leak issue which was slowing down the server. A normal DDoS attack would've been quickly triggered by our DDoS protection we had in place since 2013. But because this was done at the authentication level (it wasn't spamming packets, it was spamming SYN packets) it was creating a lot of new issues. Our DDoS protection was "per connection" whereas this was creating new connections constantly. Another thing that really pissed me and Wolf off is that this isn't the first time ExitLag's methods have caused us issues. It was causing our server to throw errors in the past, and so we actually built workarounds. If only we had straight up banned it then. Lastly, we unfortunately had an issue with timing out TempPlayers. The intervals our KeepAlive packets were being set at was 30000-60000 seconds instead of 30-60 seconds. Which is a dumb mistake on our part. This made the logout issues much worse, but also just aggravated the issue of us being DDoSed. We never found that mistake for 5 years before this because we never had this issue. Phase 8: Resolution Now that the following have been put in place, this should prevent a future SYN flood attack and also ensure players aren't accidentally banned by using ExitLag. We've tweaked Windows Server's provided SYN Flood Protection capabilities to suit Nin Online With the help of ChatGPT, I wrote a new application that checks for SYN Floods and quickly (within a minute) bans IP addresses that are flooding our server We've banned ExitLag from being used with Nin Online, so players don't accidentally get their IPs banned. We fixed a bug that was causing KeepAlive packets to only be sent out every few hours. So even if a SYN Flood Attack happens, it will not cause widespread logout issues. We've contacted ExitLag to remove Nin Online from their listings. This has been one of the hardest 5 months of developing Nin Online. I've been on full time "make sure the server is not malfunctioning" duty for the entire time, and I've been caused severe mental distress by this ordeal. All this to say, I don't like ExitLag. Thank you to Wolf, Delp and all the players who have been helping provide information for the help in solving this issue. Regards, Ueda
  5. Lightning is receiving a few quality of life changes to hitboxes and self stuns. Lightning Senbon is also the perfect jutsu to test drive the new limited pierce mechanic. Taijutsu loses the instant cast interrupt on Seismic Dash in favor of maxing out its speed factor by removing self stuns and giving it a proper move speed buff in Youthful Spring, which no longer silences or gives a % agility buff. Agility weapons rebalanced to compensate for chakra scalpel stacking. Medic changed to give an interrupt to Poison Scalpel and lowered downtime on Chakra Scalpel at the cost of having to re-buff more often. A few reverts of some changes that didn’t pan out, including making the curse seal buff stronger but keeping the long downtime, rather than it staying a weaker buff and getting a shorter cooldown. Lightning Mastery Lightning Senbon Technique now limited pierces 1/1/2 targets at ranks 1/2/3 *fix needed, intended to pierce once at ranks 1 and 2 and twice at rank 3 - currently just pierces once at rank 3 Rank 3 Advanced Lightning Cutter now applies Advanced Lightning Current Cast instead of Lightning Current Cast Advanced Lightning Current Cast Technique End Cast time decreased from 100ms to 0 Binding Pillars Technique Area of Effect changed from 7x5 X:1 Y:1 offset to 7x7 X:0 Y:0 offset (to match art) Feast of Lightning Technique range increased from 7/7/8 tiles to 8/8/9 tiles (Was already implemented) Lightning Technique level requirements changed from levels 10,16,23,28,35,40 to standard levels 10,15,20,25,30,35 (Was already implemented) Taijutsu Mastery Seismic Dash Technique Cast Time increased from 0s to 1s Seismic Dash Technique range increased from 2 tiles to 3 tiles Seismic Dash Technique End Cast time decreased from 500ms to 0ms Seismic Dash Technique Cooldown Time decreased from 14/14/13s to 12/12/11s Breaking Kick Technique Area of Effect changed from 3x2 to 3x3 Breaking Kick Technique Cooldown Time increased from 8/7/7s to 10/9/9s Breaking Kick Technique CP Cost decreased from 35/35/35 to 30/30/30 Breaking Kick Technique Knockback decreased from 3 tiles to 2 tiles Speed Mirage Technique Cooldown Time increased from 34/34/34s to 40/40/40s Youthful Spring Technique Agility Stat Requirement decreased from 65 to 60 Youthful Spring Technique Agility Buff removed across all ranks Youthful Spring Technique Movespeed Buff increased from 100/110/120 to 130/140/150 Youthful Spring Technique Buff Duration decreased from 15s to 12s across all ranks Youthful Spring Technique Silencing Backlash removed across all ranks Youthful Spring Technique rank now casts Youthful Spring Mirage across all ranks Morning Peacock Technique hitbox changed from 5x5 from player tile to 5x3 offset one tile in front of player (Was already implemented) Morning Peacock Technique Cooldown Time increased from 18/17/17s to 20/19/19s Whirlwind Kick Technique Cooldown Time decreased from 24/24/23s to 22/22/21s Taijutsu (Gentle Fist) Mastery Pressure Point Needle Technique CP Cost decreased from 96/96/96 to 50/50/50 Pressure Point Needle Technique Base Damage increased from 1/5/9 to 4/8/12 Pressure Point Needle Technique STR Scaling increased from 60% to 70% Palm Bottom Technique reworked and its art has been updated Palm Bottom Technique Hitbox changed from 3x2 to 3x3 Palm Bottom Technique CP Cost increased from 16/16/16 to 24/24/24 Palm Bottom Technique no longer knockbacks Palm Bottom Technique now applies a Slow I debuff at all ranks (updates current slow debuffs as follows) (NEW) Slow I: applies a SLOW effect for 2s (NEW) Slow II: applies a SLOW effect for 4s (Old Slow I) (NEW) Slow III: applies a SLOW effect for 6s ( Old Slow II) Vacuum Palm Technique projectiles now limited pierce 1 target across all ranks Revolving Heavens Technique Knockback changed from 2/2/3 tiles to 1/1/2 tiles 16 Palms Technique End Cast Time increased from 700ms to 800ms 16 Palms Technique Silence debuff decreased from 2500/3000/3000ms to 2000/2500/2500ms Medical Mastery Poison Scalpel Technique now interrupts Poison Scalpel Technique Cooldown Time increased from 7/7/6s to 9/9/8s Poison Scalpel Technique CP Cost increased from 14/14/14 to 20/20/20 (Revert) Cursed Seal Technique Buff changed from +10/15/20 stat buff to +15/20/25% stat buff Cursed Seal Technique Buff Duration increased from 30s to 60s at all ranks Chakra Scalpel Technique CHK Scaling decreased from 30% to 25% Chakra Scalpel Technique Buff Duration decreased from 50s to 45s across all ranks Chakra Scalpel Technique Cooldown Time decreased from 60s to 45s across all ranks Water Mastery Water Substitution Technique Cooldown Time increased from 37/36/36s to 41/40/40s Water Mastery (Bubble) Fixed Bubble Spray Left/Right animation being too far away from player Weapon Mastery (Tools) (Revert) Kunai Explosion Intellect Scaling decreased from 75% to 60% (Revert) Big Kunai Explosion Intellect Scaling decreased from 75% to 60% (Revert) Shadow Shuriken Technique Intellect Scaling decreased from 75% to 60% Weapon Changes (Experimental) Blood Tonfa Health Regen Buff Removed Blood Tonfa now has 5% Life Steal Blood Katana Health Regen Buff Removed Blood Katana now has 8% Life Steal Blood Iron Fan now has 10% Life Steal Tonfa Agility Stat Requirement decreased from 70 to 60 Tonfa no longer knockbacks Demon Claw Agility Stat Requirement decreased from 110 to 95 Demon Claw no longer knockbacks Demon Claw Base Damage decreased from 19 to 15 Blood Tonfa Base Damage decreased from 30 to 25 Blood Tonfa no longer knockbacks (Experimental) Adamantine Staff Base Damage decreased from 40 to 30 (Experimental) Adamantine Staff Attack Speed decreased from 1.3s -> 1.4s
  6. Two new cash shop items are now available! Two Tone Water Robes Injustice Cape Added 11 new prize shop equipment that can only be obtained with Event Coupons! Two Tone Water Robe variations, Shisu Shirt variations & Pink Justice Cape.
  7. Storages New type of furniture that allows you to put X (Variable per furniture) amount of Items in them to store them. Some storages can only allow items of specific types eg. Refrigerators will only allow you to store Consumable (Food) items. Some important behaviors with storages... Storages that are in Village maps can be accessed by Kages. Storages that are in Player's houses can be accessed by Co-owners. Storages can be viewed but not altered by players without permission to do so. If your item is removed from a village map by a Kage, or if you don't pay rent, your storages and all it's contents will be sent to you by Mail. This is a very difficult feature to add because of the number of things that could go wrong, so we're rolling it out to a select number of Silver Ninja to test out for the time being. Also added a warning for picking up items with items stored in them. Improved Mission Tasks System This is mainly for the Developers for now. But I've added more control over a mission's ability to set task/switch/item variables. Time Limit to missions will come in a future update. For now I've decoupled Resetting variables and taking items from being "Daily Missions". It was hardcoded previously to always reset Mission Tasks for Daily Missions and this was a tricky situation and very limiting. Fixed bug where if you logged out after being spawned in your house and relogged in, you would be where you died. When using /abandonhouse outside your house, you will no longer be given a prompt to abandon your house. This never worked, but the prompt still showed up. (Developers) Fixed Village Editor not allowing Index 1 (Leaf Village) to be loaded and edited.
  8. It's update 4.2.0! Blaze it! Today we're adding a long awaited feature to player housing, the ability to use it as a spawn point. Respawn in House for reduced Battle Injuries for FREE Take it as respawning in your house is having a Class B (Plan B) Ward for free, and so you're able to use it as both a spawn point and a way to reduce your Battle Injuries to 240s. It's like a subscription, so if you plan on dying, rent a house. But nobody plans on dying right... and it's just a few minutes. But wait - what about @ana primal's Asoki village houses? She has spawn points at Asoki Port Village now? Yes. Deprecated old death system We've deprecated the whole "seeing the God in your afterlife" thing. As an explanation, the whole death system used to be a workaround for not having a proper death system, when you died, your character was warped to a map where NPCs/Events ran scripts on your character. Now, we've streamlined, and in turn, sped up the death process and introduced a new Checkpoint System. Checkpoint System You can now go to (friendly only) Village hospitals, and Corps Headquarters to set it as your checkpoint. This is where you will respawn when you faint in combat (and you don't have a house, or choose the other options). Missing Ninja still have the same locations as their checkpoints, whereas for now, Village Ninja can choose between Corp Headquarters or Village Hospital. Exploring whether/how to make Clan Buildings into spawn points, but this would mean that we cannot allow exiles in anymore. (Admin/GM) GMs /zone commands are back Temporarily change map zones (Admin/GM) /setstats X Set all stats to certain amount Chat messages to tell you what happened to the furniture you just removed It'll indicate if it sent back to the original owner instead of going into your inventory, it used to be a bit unclear. Players can no longer pick up furniture items placed by GMs/Admins They will always send back to the original owner even if it's not a binded item. This is to prevent abuse. Added and improved logging for the following situations Admins/GMs using /heal Map names are listed on GM Warp logs Rare Drops are listed in individual player's logs Team Joining / Leaving is logged in player logs Abandoning Missions Picking up furniture EXP Items are used Blessing is used Title Item is used Stat reset is used Mastery reset (Admin only) is used Set variable/switch item is used Inventory expansion is used Fixed GM killed monster drops still being picked up by players Fixed /abandonhouse Fixed fishing hotkey keybind Added checks in Mailbox to instantly reflect when items are no longer available to be sent Updates to In-game guide and more banners
  9. Added new rods Lots of rebalancing to do. Cheap Rods have a new skin, it's not a twig with string on it, sorry!
  10. Issue with MySQL has been resolved by the host. An unfortunate side effect from this was that some players have received replenished (previously used) cash shop items back in their stash. This was due to a code bug and cannot be reversed unfortunately. We would like to appeal to players to let us know if you have received such items and in what quantities so we can remove them from your account. Items that are set to be binded will now only be able to be picked up by player who owns the item. Eg. If I kill a boss and it drops a binded item, even after 30s, that item will only belong to me. Fixed bug where binded items could not be picked up even by rightful owner. Fixed mail box not displaying mail Fixed Quick Login not working Hovering Buffs is now snappier and more optimized Optimized picking up items of same kind within range code Fixed In-game Guide not working Fixed a bug that caused Cash Shop items to become replenished if player logged in during a period where MySQL was inaccessible by the server
  11. Known Issues In-game Guide is completely broken in latest build We're currently experiencing MySQL Server Hosting issues causing cash items to not load and degraded login performance. Accountability Announcements Announcing when a rare item is dropped Announcing when a admins mails items to individual players Announcing when player picks up an item that was dropped by a GM Logging Changes Logs automatically save to years Logging rare items dropped by mobs and what their drop rate was Logging who or what NPC dropped the item players picked up in their logs Logging where (map name and ID) items are dropped and picked up Logging when events set/give/take items from players and the amount they had before that Logging events leveling players up or setting their levels All data saving (eg. Items, Spells) are saved to the individual player(admin) log. Mails are logged better, showing who it was sent to by name, not just ID Logging Item Pack results Log all warps and getting warped in individual player's logs All players logged actions are logged in both their "event" log and player's individual logs Cleaned up buying and selling item logs (1 line instead of 2) Logging trades within player's individual log files as well as global trade log Starting missions and completing missions are logged Mission rewards are logged Other changes Prevent players from picking up items dropped by mobs that were killed by GMs Map editing live is announced to server Map editing live is broadcasted on edited map (so people don't panic every time there's a map edit) Fixed items not belonging to right owner if player is concealed Disabled separate LoginLog that was pretty useless
  12. (GM/Admin) Added /clearinv command for easier item debugging (deletes all items in your own inventory) Added /bless command that can be used to see how much time is remaining for the current server blessing Added Combat Lock On-screen Action Message to make it clearer while in a combat situation Portals on the same map to the same map (eg. Sand Theatre backstage) no longer combat lock Better Combat Lock Messages (Gives Time Remaining) Fixed sliding quickly on warp tiles while combat locked Prevent walking onto warp tiles while combat locked at all Hopefully fixed a rare Gift Box / Item related bug Fixed some mail related issues Fixed the following reported issues
  13. First feature update in awhile. Still getting back into the groove of adding things to Nin. Mainly targeting smaller features and content that artists have contributed art for as well as fixing bugs. Random Item Pack Added a feature to create "Gift Boxes" that give a random item from within it. An example use for this would be to give a random prize after an event. Check your mail! We've sent you a gift to showcase this feature! Premium Skin Changer Items Added a Item Type feature that allows players to double-click/use an item to change their skin to special skins. Eg. Shark Skin. Previously, you had to bring the item to the plastic surgeon NPCs in each hospital. This was alright, but also buggy because you had to choose the right gender. This means that gender changing is now fully compatible with Premium Skins, so we can add more easily. Shark Skin Skin Item & Yin Yang Skin Item Rework They now use the Premium Skin Changer Item type mentioned above. You no longer need to bring them to the plastic surgeon. Instead, you can just double click them. Also - new artwork for them to better see what they are at one glance. Fixed exploit where Skin Changers along with Gender Change Item (Sexy No Jutsu) could be abused in weird ways to give skins you weren't supposed to have. Fixed bug where sometimes you could be assigned the wrong Skin Gender, making Paperdolls (Items) render the wrong gender art version. Fixed chatbox not disabling movement keys when chatbox is clicked on (while it was already fine when triggered using Enter)
  14. Shippu Premium Hairstyle now available in the cash shop Going through back log to add art that was done a long time ago. That being said, this one was player contributed and took quite a bit of reworking to get usable. I haven't been active for awhile for many reasons, getting back into the groove of working on Nin Online. Forgive the slow updates as I get back into it.
  15. Added new in-game guides (almost done with all of them)
  16. Added instance event command Keep name concealed when faming player (Prevent using fame to reveal concealed players) (Hopefully) Fix server packet sending breaking at peak hours Prevent 3 separate array out of bounds error on server Optimized map dictionary processing loop very minorly
  17. Experimental (XBR) Upscaler Option This is definitely something that is going to be something only some people will like, so it's listed as an experimental option. Nin Online was always designed to be a pixel art game, and using this will actually look a bit of detail, but it'll give the game a more 'modern' look to some. Added Option to Prevent Items from being mailed This is so we can prevent mailing certain quest/mission items. Compromised Documents can no longer be mailed
  18. Fishing is now available for players Note that it is still in early stages and more improvements are to come! Proficiencies Menu More Automated Chunin Exam functionality and polish (Admin/GM Only) Functionality to end a Chunin Exam mid-way (for emergencies) Teams in Tournaments are now properly randomized Team Tournaments no longer disqualify entire team if one member leaves Fixed being able to transform into another player to reveal their concealed identity Fixed being able to hold more than 200 of each ninja tool if you use mail
  19. More fishing functionality added We're almost there Optimizations to Rain (& other weather) effects Threaded the processing of particle positions Large optimizations to game rendering (better FPS) - Screen occlusion - Baking Old UI system - Offscreen Text Draw calls are skipped - Many more Wolf wanted to get the game to run at 2,000 FPS on his computer, so he started optimizing more stuff. Personally, I get around 1800 FPS on small maps and 1000 FPS on Leaf Village now. We've added this as experimental options in the Options menu that you can disable to see the improvement yourself.
  20. Death in Arenas now only displays option to respawn for free Hospitalization plans you can't afford are disabled (Backend) Texture DIctionaries Added texture dictionaries to call texture files by name instead of ID Added Keybind for Fishing Key Alert box shortcuts now work (Enter/Esc) Previously when you were destroying items you couldn't use enter key to confirm Improved Death UI Position Fixed direction you face when you use Flicker (and other warp to target jutsu) Fixed items despawning not sending an update to the player Sometimes items could despawn, and the player would still see the item visually there Fixed server disappearing from server list bug
  21. This is fixed in the next update. In the future use an issue in the issue tracker https://www.ninonline.org/forum/issues/
  22. Part 1 of Death Rework This is the first part of a major rework of how Fainting (aka. Death) is handled in Nin Online. We have a few more patches to go to make this better. Including adding using your houses as an option to get shorter Battle Injuries for free. Hospitalization Plans The first update brings Hospitalization Plans, which is a way to use Ryo to shorten Battle Injuries status. The price of Hospitalization increases with Level. It is extremely affordable for beginners and extremely expensive for anyone past around level 30. This is to help make leveling up a lot less painful when you die to higher level players in the early game, and a very last resort kind of feature to use once you're at a higher level if you really must be back at full strength immediately. Added more game guide pictures and information (Admin/GMs) Special login animation made and requested by Erox Refactored Buff Timing code to now be more accurate and possibly fix bug that may have occurred in rare occasions Refactored code that handles hot swapping resolutions and window modes It reinitializes a lot faster now 2022-07-13 21-02-17.mp4 Fixed fullscreen/window mode hot swapping being broken (Regression from last update) Fixed hot swapping resolution sizes (Regression from last update) Fixed the following misc. reported issues
  23. Personally, I've never played any game for 9 years and don't expect anyone to. In my own personal opinion, Nin Online is a 1/10 for anyone who doesn't like what the game entails and a 10/10 for the person exactly like myself who wanted the game I made to exist in 2013 to exist. Really don't know what this post is meant to accomplish. It's not we're not already working full-time on this 24/7 for 9 years. If the game doesn't please you now, it never will, a Steam release won't change that. Nothing short of remaking the game from scratch and being able to afford a larger team will do that.
  24. This should be fixed, if it comes back, we'll look into it again!
  25. Ueda

    bugged tiles

    This has been fixed, thank you!