• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Why open source modules are a bad idea.

Slime

Active Member
Joined
Jan 25, 2014
Messages
115
Reaction score
32
I didn't really like an idea of money being a "physical" item in game. Because of the kind of server I'm developing, I decided to change 'soul' into 'gold' and make it as a main currency in game. Now I'm adjusting things to work and I've stumbled across this: at the moment I did no source edits of server or client, just changing 2 lines in npctrade.lua (module)
Code:
function onPlayerGoods(money, items)
playerMoney = money
to
Code:
function onPlayerGoods(money, items)
local localPlayer = g_game.getLocalPlayer()
playerMoney = localPlayer:getSoul()
Now it allows me to buy infinite amount of items that cost 100 or less gold (or 200 gold depending on how many soul points you have). Imagine discovering this on a real server with a lot of players - it would cause a riot and lead to its death.
 
Why open source modules are a bad idea: -
Why you think open source modules are a bad idea: faulty implementation

I do not know how your server side looks but I do not see a reason why one would be able to buy infinite amount of items.
 
So if it work as you said - it should be dumb to share it with poeple.
Why did you not using it for your own?

Answer is obvious.
It has no right to work.
 
why open source is a good idea: ants also bind to lift things for their colossal size, when many people join an open source, colossal things are created. sorry for my bad english
 
When it goes to the title I just wanted to point out that if you want to run a real server and make a custom OTClient for it, it would be necessary to hardcode modules into the client or at least encrypt them well. There will always be players searching for the 'easier ways' of doing things. I'm using TFS 0.3.6pl1 with default NPC lib.
 
If your server side is done correctly, changing the client will not result in any exploits.

Summ made the point, there will only be ways to cheat if your fault is server sided, the client is just a communication, also, player is a private class, if you're trying to use no matter wich atributte of it as money, you can make it as a direct communication sendind it in protocols.. or also, you have lots of ways to prevent problems..

And ALSO, you can have tons of modules working on your server if they're coded so, let them open and STILL don't be harmed by "thiefs"..

get this point dude, if a real programmer sees a thing, opened or not, he's cappable of reproduce, the problem is not hiding code, but ideas, if you're worried with yours, just quit this "business"...

again also, have you ever heard about reverse engineering?
 
Open tibia exists thanks to reverse engineering. Summ being one of the main devs on the OTC project a a contributor on TFS, as well as a proficient programer obviously knows about this.

Regarding this topic: Summ pretty much made your argument against open source invalid in the first reply. Your faulty implementation in the reason why a server would die, not because its open source.
 
why open source is a good idea: you discover bugs and report them.
Note* You download it and never revisit the page ever again.

Still depends on the project is you ask me, some things should be open source some should not.
 
I have nothing against modules being open source on forums, nothing against sharing your ideas and codes there. All I wanted was to point out if you want to have a safe client it would be good to not let your players edit the modules. Have any of you at least tried to change what I changed and check if you can buy those items without money?
@knightxd
I'm not a programmer. Don't you think that non edited OTClient + non edited TFS 0.3.6 should be safe enough to be used by everyone? Not everybody knows that stuff, there are guys out there that are great at scripting, mapping, but have no idea how to write in C++. The plug and play formula would increase the popularity of it what would lead to faster development. This subforum is basically dead now.
 
if your server side does not look something like this:
Code:
if getPlayerSoul(cid) > price then
    doPlayerAddSoul(cid, -price)
    doPlayerAddItem(cid, itemid, count)
end
You did something wrong.
 
I think the propose of OTC is the way for you creating something and share with everyone. If you need something more i think you need to do this by your own.
 
If what you're saying is true we could manipulate packets sent out to the server and get many runez men using real tibia client. Omgeesh we can be 5up3r 1337 h4x, m4ss lvl, fRi itenz. Seriously if you're not a programmer then you probably shouldn't be making posts like this >.>
 
I'm not reading this !!!!!!!

There is something called client and something called server;

Let's explain somethings, the server CHECKS every things sent by the CLIENT if you say you have 100 gps then the server checks if you really have 100gps doesnt matter if in the CLIENT you are editing it, the server will see that it is a fake information and do some action.
 
Module hotkeys is like a bot for version <= 792
There was no ITEM hokeys ;p
 
@loppe @kab
So what's the point?
QPX3Bm3.png
 
Back
Top