Topic: Mod Loader
Hey guys,
Carrying on the discussion from https://www.teeworlds.com/forum/viewtop … 1&p=2. For those who didn't read the entire thread, basically a suggestion was made to add to the original client a functionality where you are able to download and load up mods from the client. This allows for far more flexibility for modifications of teeworlds, but also makes it vulnerable to malicious code.
Ghost suggested either sandboxing the code (but would also limit the possibilities of the client) or try use an interpretive language like LUA to solve this problem. He also mentioned that if we sort out the security issue and the code is up to standard then they would likely add it to the original teeworlds client.
I honestly believe this would do wonders for the mod scene and for teeworlds as a whole, as it would allow for some of the more creative mods to become feasible and allow more flexibility for the mods that are already in existence. It is of course quite a large project to undertake and a clear solution needs to be discussed.
If you have any suggestions/ideas of the best way to go about doing this then please discuss it below, and/or if you would be interested in participating in coding it then just say. I personally don't mind helping out with the coding, but I know that there are certainly others that are more knowledgeable in this area than me so any help would be greatly appreciated!
UPDATE:
Well had a nice long chat with matricks and minus. Matricks has actually thought about this issue quite extensively, he even got resource transferring working between the server and client using LUA but he said the reason he doesn't like the LUA as a solution is because in his own words.
[20:51] <@matricks> I'm not that happy with transfering it from the server to the client however due to the endless ways it can screw you over due to it being turing complete
From what I can gather, the developers would be more than willing to add the functionality if it was programmed. The first step is agreeing upon the best way to go about it. I fail to see how the community of teeworlds programmers can't come up with a solution, especially when something like this has been implemented before in other games (like Half life and quake).
If we really can't come up with a solution, then we will just have to put this on hold until more qualified programmers start playing teeworlds