Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (753)
Games in Android Showcase (228)
games submitted by our members
Games in WIP (842)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Modular Engine  (Read 1273 times)
0 Members and 1 Guest are viewing this topic.
Offline Spacebeans
« Posted 2014-01-26 06:42:47 »

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?
Offline nerb
« Reply #1 - Posted 2014-01-26 07:26:30 »

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!
Offline xsvenson
« Reply #2 - Posted 2014-01-27 09:22:15 »

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.

“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Andre Lopes
« Reply #3 - Posted 2014-01-28 14:32:47 »

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... Smiley But its an idea.
Pages: [1]
  ignore  |  Print  

ivj94 (583 views)
2018-03-24 14:47:39

ivj94 (48 views)
2018-03-24 14:46:31

ivj94 (374 views)
2018-03-24 14:43:53

Solater (61 views)
2018-03-17 05:04:08

nelsongames (108 views)
2018-03-05 17:56:34

Gornova (150 views)
2018-03-02 22:15:33

buddyBro (693 views)
2018-02-28 16:59:18

buddyBro (91 views)
2018-02-28 16:45:17

xxMrPHDxx (493 views)
2017-12-31 17:17:51

xxMrPHDxx (733 views)
2017-12-31 17:15:51
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!