Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Infinite money exploit in multiplayer using shares and sending money back and forth #7691
Version of OpenTTD
There's an exploit in multiplayer that allows you to add basically infinite amounts of cash to your company, adding 75% of your company cash each iteration out of thin air. This glitch requires an online multiplayer server and 2 companies you control.
Question: Is this now the correct place to post bugs? Is the old bugtracker dead?
You can't generate money out of thin air in online multiplayer.
You can generate money out of thin air in online multiplayer by abusing the company shares system in compination with the “give money to player” mechanic.
Steps to reproduce
Let's assume that LocustCorp has $5,000,000 in the bank. So first you buy the FakeCorp shares for $0. Then you send $5,000,000 to FakeCorp, thus pushing the value of FakeCorp to (ca.?) $5,000,000. LocustCorp's bank is now empty. When LocustCorp now sells all shares, you win 75% of that value, so LocustCorp has now $3,750,000 in the bank. This is the money that appears out of thin air. Now FakeCorp sends all their cash back to LocustCorp, adding back you $5,000,000. LocustCorp has now $8,750,000 in cash.
Repeat forever for more cash.
This glitch is being demonstrated by The Spiffing Brit in this video:
The main cause of this glitch is IMO that you can send money to other companies/players. Apparently cash directly affects the company value, which makes it possible to artificially inflate the company value (and thus shares value) trivially by simply dumping massive amounts of money into a company.
Note that in the original TTD, it was (to my knowledge) not possible to donate money to the other player.
One easy fix for this would be to just remove the possibility to send money to other companies. This would remove the possibility to inflate the company value.
Another possible fix besides just removing the send money feature altogether would be to have the same two settings as we have for other large-scale actions such as clearing land and landscaping.
I think this is ultimately a social problem, not a technical one. That's why we have things like Bafin or the SEC to watch over financial irregularities (Think of this as an example of insider trading)
However, in my opinion, instead of forbidding sending cash (which might be a server setting), i think the cash/loan should simply not be included in the company value calculation. just the actual physical assets (vehicles, tracks, stations). this would also prevent the value staying at 2$ for a long time.
It's worth keeping in mind that the default value of
Apart from that I'm generally of the same opinion as Eddi that the better fix (apart from doing nothing) would be to base company value, at least for shares price calculation, solely on fixed assets value, or possibly even on some other performance metric as well. Even then it could possibly be gamed.
The real proper fix would likely involve completely changing the financial model of the game to include double-entry bookkeeping for all assets, and proper shares ownership, including a general public body of investors you will need to convince to trade shares of a company with you at a given price.
Am I the only one who sees a problem with infinite money? Money equals power and with infinite money you can basically wreck the whole world by screwing up the land all over. This is a desaster waiting to happen.
Yes, it requires these particular settings to be set, but no server owner will expect such an exploit.
I am, however, unsure about a “true” solution. :(
I wonder how people use shares in game? Is it mostly to be able to buy out competitors? What about these fixes:
Example: Company A buys 25% of Company B for $0 and Company B gains $0 cash. Then Company A gives $400,000 to Company B, raising Company B's value to $400,000 When Company A then sells its 25%, Company A gains $100,000, but Company B loses $100,000.
You could set it so that the target company has to agree to buy/sell shares, with AI players always accepting if they have the cash. This would make more sense overall, since if you're starting a company by getting a loan, you should be retaining 100% equity, and if there were shares on the market, where is the cash you got for selling them in the first place? You could even add on the ability for shareholders to restrict the actions of a held company, based on the amount of ownership, although this would probably go beyond the scope of the design goals. But, you could do something like 'no building within a certain radius of my stations', or a points-based system where each restriction costs different amounts of points to make a menu of restrictions your owners could put on you...