Modular Engine

Would it be possible to create a modular game engine with java, and not have it abused?

I want to make my code easier for me to understand, and make modding support in the future. So I thought it would be easy to have a folder filled with JAR files, that when ran, added content to the game. Like one for physics, one for modeling, one for advanced GLSL, etc. And make a config folder holding the configuration for each “Plugin”.

But I have one problem, I don’t wan’t the community to abuse it, and do something like make a rouge plugin that deletes your saves, or uses speed hacks on multiplayer. Is there any way to avoid this?

I don’t think there is any easy way to avoid it. I guess you’d take the approach that most moddable games do. You hold yourself harmless from any third-party mods and do not associate with or endorse them. I.e. Users install mods at their own risk. The onus is upon the user and modder to ensure the mod is secure. As for hacking on multiplayer, that is a completely different kettle of fish really, which even AAA games have trouble controlling.

I personally wouldn’t worry about it until your game nears completion or grows in popularity, but keep it in the back of your mind.

PS. Welcome to the forum!

There are various ways to block execution of certain methods or even block class loading, which ever You need.
So if the question is: is it possible to block dangerous code execution, then it’s a “yes”

I think there was a thread not long ago talking about preventing code execution, I think the thread was about scripting. Search around JGO.

My game supports mod by just leaving some class not-obfuscated And by enabling reflection.The user can “override” some classes…

When i load a .tmx, the code searchs for a .jar and tries to load a certain class there to use as a script.

Its my first game so… :slight_smile: But its an idea.