Changes I'd like to see reverted once the Unity Client is out


#41

EDIT: i want to see kabam servers in game
Deca dont make money and just stay dont improving the game Buy Em servers from kabam :expressionless:


#42

This though has a number of problems. First ‘when the server starts to experience strain’ might not happen before a crash, if it happens suddenly due to a flaw, perhaps triggered by a hacker.

Or it might happen way more times than there are crashes, leading to lots of false positives, lots of instances of the game doing busywork cacheing data. in fact this seems highly likely as the servers often have slowdowns or seem overloaded, especially during events. Adding extra CPU processing to store data on top of this seems more likely to cause problems than fix them.

Then there’s the problem that if you roll back inventories you not only wipe out any duping that happens over the crash, but all valid transactions. Trades, making purchases, finding white bags. It’s bad enough as it is, if the game crashes just before you pick up a rare item. It would be even worse if you manage to pick it up, are able to equip it, then the server resets and it vanishes. As that’s what would happen as there’s no way to detect ‘duplicated items’, only items that do not match the state of the game before the crash.


#43

Unfortunately crashing isn’t/wasn’t the only way to dupe. ID system is supposed to provide a universal solution. It’s great for detecting duping but you need additional mechanisms to decide on what to do with duped items. It’s perfect for eliminating duping of sb items though.

My opinion is that money wise there are little incentives to revamp the server. Instead they should focus on killing RWT. There are many ways to make RWT a costly process by making it very hard to own valuable items on fresh or low ranked accounts. An even more natural solution is to restrict valuable items trading to some sort of auction.


#44

I had not thought of that – that an in-game auction house would hurt RWT. And it would, as if transactions were anonymised though an auction house they would be unable to make direct sales. They might be limited to account sales which I imagine are a much smaller part of their business, making it not worthwhile continuing.

An auction house makes a lot of sense for another reason, after the Unity port. If they wanted to port the game to non-PC platforms chatting would be much harder (without a keyboard), so making it possible to trade without chat would make such ports much more viable.


#45

If the server does not crash, then the cache of player inventory is reallocated to memory.

Saving kilobytes to memory, for a realm full of players, hell, even a realm beyond the eight five player limit, does not impact any CPU cores to such of an extent, especially a server. If no crashes occur, this data is dumped and free to be used for whatever process is needed.

If the check is run eighty milliseconds before a server crash or server restart, it is not humanly possibly to react to the game in any situation. It takes the optical nerves to send visual data to the brain for processing within that time frame.

Imagine you’re playing the game and suddenly every enemy stops moving, bullets stop affecting enemy health, your health does not change, and players around you start moving towards the ends of the screen. The server saves a snapshot of inventory before crashing. You log back on after being kicked, and your current inventory is checked. With multi core processing, the code can be executed in time before the crash takes place. If the servers chug through it, like the infamous ice tombs of last year, the cache of player inventories are dumped as discussed earlier.

It is concurrently the only method I am aware of… everything else has been patched.

For the most part the rest of your statement is valid, save for hurting RWT. That would be a whole different beast to tackle, apart from fixing duplication of items. That illicit business practice has collectively made a few hundreds of thousands of dollars from players over the years. Restricting new players from getting good items if they hone their skills is unfair, and if the star requirement is too low for this proposed ban, they would still create mules and farm those mules to meet such requirements. They adapted when Deca changed the star requirements for previous actions such as key purchases, etc. I do like the auction idea though! It would certainly make USW2 a cleaner nexus.

Money wise, fixing the duplication of items would kill the source of continued income for RWT websites.


#46

That does not even make sense. You seem to not understand how these servers work. They are not PCs sitting in the corner, idling away on one core with lots of overhead for the extra processing and storage. They run on Amazon servers, alongside many other services. DECA pay Amazon for those services according to the CPU, memory and network cost of them.

So adding the journaling features you suggest, as well as requiring lots of programming, testing and bug fixing, would add to the load on the servers and so the cost of running them. Or it would make the servers busier and slower because of the extra work they were doing, so impacting gameplay. Possibly both.

And it likely would not fix the problem, it might even make it worse, if e.g. hackers work out the timing of data being written to this cache for different players, and exploit it by doing transactions between two players with different timing, before a server reset.

There is no cheap, easy solution to this, where you just add a few lines of code and it magically fixes things. A proper fix such as an ID system would be a massive amount of work and have a large impact on the game, disproportionate to the benefit as duping does not seem a large scale problem currently.


#47

Plz UT weekend. It will help boost rotmg websites and will cause a big market explosion that would benefit all. Imagine a life being worth 10 def. Yay :slight_smile:


#48

A UT weekend right of the bat is a seriously risky move if you’re talking about the unity clients release that is.
The new client could be unstable, dupes could occur naturally due to the fact the client is new and DECA have overlooked some bugs that are in need of patching.

If you were to do a UT weekend, it wold have to be well later during the clients uptime, so that DECA can fix many of the early bugs that release with the client.

A side note for UT weekends if they did commence, adding some other rules like trading those UT’s above 10 stars, or you can only carry out a UT trade every hour or something would be so much better - Things that would prevent the duping from occurring, and the circulation of dupes from being harder to carry out.

(I’m also on the Anti-UT weekend party. Those items are earned through playtime exclusively, and shouldn’t be accessible through trading)


#49

Not going to happen, as nothing will change with Unity that would make any difference to it.

In theory Unity might see the end of exploits but only in theory. When first released it will be torn apart by hackers looking for new ways to break it, including duping. In particular while both Flash and Unity are available, as they will be for a while, people will look for hacks that exploit differences between them. Even once Flash is retired it will be a long time before they are confident Unity is more secure. If ever.

And even then there are many good reasons to keep UTs SB.

  • removing SB would reward mostly those with large caches of stored UTs, i.e. past hackers and dupers
  • it would encourage hackers to find new hacks, to dupe new rare UTs like the LH ones
  • It would massively boost RWT sites who would no longer be limited to a subset of items, making them more profitable, so they invest even more in marketing, i.e. in in-game spam and similar
  • and having the best items SB makes them special, letting players show off their skill & luck against the toughest bosses, and making it more thrilling to use them knowing that if you die with them there’s no easy way to get them back

#50

its a huge change for me cuz im too perfectionist to leave t11s on ground (yes i fucking know its a disgusting habit but i feel so shit for people that have to buy gear or whatever the fuck so ilike to have a billion spares to hand out) but i had to make 10+ mules to store it and my main is out of storage (obv not from all old tops most of it is summer wizard shit but the old tops are taking up the mule space that would be for the summer set etc)

also pets or please for the love of fuck and the longevity of the game nerf pets.


#51

I want to start by saying, cheats are going to be just as easy on unity as they are on flash, I would say the community goes at most a month without hackers.
I’m also only going to comment to things I disagree with, so if I don’t mention it, I’m either indifferent or for it.

I’m a firm believer that the LH tops should stay soulbound. They’re, like you said below, “a testament of skill for players that obtain them.” The people with LH tops are the ones who have earned them. Sure the loot tier potions may be misleading, but I don’t think they should effect it, maybe just add something about “up to T12/13” in the description or something.

I see no legitmate reason for this, rare eggs are common enough.

Ideally I would have them all soulbound, but it would be very hard to implement this as they are used for currency. I don’t think they should all be unsoulbound.

No reason for this, it causes far more trouble than it’s worth. This is coming from someone who used to abuse this system.

I’m absolutely against a UT weekend. Would it be nice to just buy the Jugg or QoT I want so much? Sure. I remember the days where that was a possibility, but I’ve come to respect the new system of them being untradable much more. It adds rarity to the items, makes them exciting to have, and it royally sucks when you lose them. And that’s just adding to the permadeath feel of the game to me. Honestly I consider it to be the same as lost halls or shatters at this point, anyone who has those items has grinded for them for who knows how long (unless they’re really lucky).


#52

But this isn’t really a fix :confused: it’s more of a bandaid to the real problem. This ‘fix’ hampers normal players that don’t cheat too…

they started banning them so multibox will remain as problem dude :slight_smile:

Not if new client has an aggressive anti-cheat.


#53

Interesting you bring this up. Because I feel like Deca has pretty much killed RWT in their own way. Every tradeable item is worthless. If I start a new account I can get pretty much any item I want within maybe 6 months of playing the game. There used to be items like skins that would take a very long time to obtain but now they are very common. All of them. Even Decades rings, the supposedly coveted items of wealth are not that valuable. All you need to do is run 3 or maybe 4 lost halls and you should be able to afford one. You don’t need to shell out money or even grind for months. Just a day of playing the game can get you one.


#54

I think some of the items like Shatters and Lost Halls whites should remain soulbound but what about skull shrine or ghost ship UT? They are not hard to get. The bosses are not difficult. The items are just simple extremely rare. It is not difficult to kill the rock dragon or even avatar. but tablet and ray katana can still take a while to grind for. Many, many hours if you are unlucky. Why not just buy them? No one looks at a ninja with a ray katana and thinks “Wow they are an experienced player, rock dragon is so difficult!”


#56

It makes perfect sense, you just don’t seem to understand the implementation of such a lightweight system. It is not a band aid on a larger problem, but a proper fix. I am fully aware of how servers are handled, and how programming on such systems operate.

The programming for such a system that I’ve covered, one that I am not expecting to be implemented, but simply explained as a light weight solution opposed to an ID system, does not require a lot of coding to complete. The “extra work” is very negligible, utilizing kilobytes of cache memory. No slowing down of the server, and no effect on gameplay, especially if the programming is optimized via bit-wise operators, since the server language utilizes C++.

On what basis are you claiming that it would “likely” not fix the problem? Hypothetical questions? Even if the timing was publicly disclosed, it would not make a difference; the server catalogs player items milliseconds before the duping can even occur, then the crash, and then the new catalog is checked back against the old one when they reconnect. The duping methods I’m currently aware of, implement a modified client that only works during a server crash.

Code does not have to be an arduous complex undertaking. It can be written simply, and well structured. ID systems are not the only method of preventing duplication of items, as RotMG isn’t a uniquely programmed instance, and many games previous in the genre have had choices when implementing economic security. The code for my proposed system is simple, yes, however it does the job. It’s not using duct tape on a dam, but rather concrete. I’m not about to build a second dam to stop the first leak.

Finally, the duplication of items is a serious issue impacting both the health of the game, new player experiences, and the massive amount of money being drained from possible gross income on Deca’s hold of the game. RWT are able to infinitely refill their stock of items, and new players, veterans, all players alike are constantly spammed in game by RWT bots advertising items for money. New players are more willing to buy into this as they often do not know better or rather have little to lose and much to gain. Lastly, if you are able to dupe, one can easily make $2K - 4K a month simply providing services, and more popular websites can rake in tens of thousands of dollars per month, Fixing item duplication would cut the supply of RWT websites to a crawl, and while such proceeds won’t directly funnel back into the pockets of Deca, a percentage would, and players would less likely be influenced by, partake in, and be banned for RWT. More players, more money, more fun!


#57

Didn’t you just… prove yourself wrong here?


#58

RWT is very much alive. Just check the two biggest platforms. Those buyers want the item instantly, not days let alone months.


#59

I don’t understand it? Really, you seem not to understand it. Or at least you have not explained how it will e.g. do this:

There is no way to detect when a crash will happen in advance. If there were a 100% or even 10% reliable way then it would make to insert code to stop it crashing, or take whatever other steps are needed such as stopping whatever behaviour or trigger causes it.

The only way therefore to do what you suggest would be to store data continuously, but the game already does this – it has to so it can recover from crashes, as well as resets, lost connections and similar.

So how is your proposal different? How will your simple, lightweight code change this to suddenly make duping impossible. I suspect when you try and think it through you will realise there is no simple coding change that can magically fix this. If there were don’t you think it would have been added years ago?


#60

Well yes, my explanation has been rather reductionist.

When I say “detect when a crash will happen”, I’m more accurately saying to trigger the code when a certain server load is reached. However, this cannot occur too late into a possible crash, since the server, well, crashes. This could be manually timed, but would rather be better yet adjusted by machine learning after it watches the server crash naturally numerous times, to calculate when last code could be effectively run during high loads before reading data from the server becomes impossible to do. But all of this is moot because something you said in your last reply changed everything.

I am a junior developer at the moment, and I also do not claim to know a fraction of the game’s inner workings beyond what is publicly leaked, version of the game years old. So imagine my immense face palm when you mentioned continuous saving… this changes everything! Instead of having to write a timing mechanism for the snapshot, catalog, whatever vocabulary I’ve used in the past, we can just run continuous data entry upon high server loads. And I mean high, during rubber banding kind of latency issues. And then you simply compare 80, 40, etc. ms before the crash and after the crash. If the server recovers, dump the memory. If a crash occurs, write the data to each user’s entry in the database, and discard that after they reconnect.

I do however see an issue with the proposed change. Make the requirement to start the code (and end it), at a too high of a thresh hold of server lag, and it wouldn’t help a damn thing since the intervals between continuous snapshots would be too high to account for human reaction time. Make the requirement too low, and you’re wasting server resources, granted a continuous system would tear through kilobytes like fire.

Actually, no, I’m wrong again, and I’m happily wrong! From what I can tell, the server checks are about every 1 second. I can’t give an average just based on a small sample size, but I know the client checks are nearly every 100 ms. Wait… I wish I had an environment to test this on, but in theory, in a server crash scenario, player data is stored by the server, say when the server tick rates jumps up to 1 tick per x seconds, lets say 3. From the moment the server is unable to run checks on inventory to the crash, within a maximum y, that information is ignored.

In a practical situation, x would be somewhere within 3 - 5, where as code can still be executed, but the tick rate doesn’t normally reach. When y hits 10+ (as a theoretical example), the server ignores all vital client information about inventory until a. the servers crash, and then the last snapshot taken is compared, or b. the servers return to a healthy tick rate below the value of y, and any inventory data the client is rolled back to before the value of y was reached.

In practice, y would be set to a number where realm becomes unplayable, so that players cannot claim that they lost white bags, etc. Mind you, when server lag is occuring, such as a tick every ten seconds, the game is effectively running ten times slower. I can’t give you the y value when enemies and players start moving off screen, perhaps y, or x for that matter should be increased or decreased, as were used for examples purely, but at a certain point no player can do much of anything during server lag. Items won’t drop, SB is ignored, requests to use abilities, nexus, death, etc., are all ignored, until the server either crashes or “snaps” back.

Sorry if I’m repeating myself, but:

  1. If it crashes, the last inventory check is cross referenced to the next reconnection.
  2. If it lags but then “snaps back”, all client data during the miscommunication is ignored and reset back to the moment the lag begun. Thanks to code implemented by Deca in a previous QoL update, players who experience such latency issues (server side only) are invulnerable until they come to. In such a case as last year’s infamous ice cave deaths, this would give a grace period of perhaps a second or so to nexus after the snap.

#61

yikes xd