Status of "strong" modding?

    Joined
    Jun 23, 2013
    Messages
    24
    Reaction score
    7
    • Community Content - Bronze 1
    • Legacy Citizen 2
    • Legacy Citizen
    What is the current status of (to borrow the minecraft term) coremods? That is, mods that involve actual Java code and integrate into the game code.

    I know that you can create basic blocks. AFAIK, they can't be slabs or wedges, or interact with logic, or disappear, or have inventories, or really do anything besides sit there. There is, of course, texture packs and skinning.

    What efforts have been made on this front? Any tools been attempted or started?
     

    Ithirahad

    Arana'Aethi
    Joined
    Nov 14, 2013
    Messages
    4,150
    Reaction score
    1,329
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen 8
    This would be a bad idea considering how obfuscation works and how often SM patches at the moment. You know how mods all have to update every update? Yeah, StarMade has that too, and it would be worse.
     

    Lecic

    Convicted Lancake Abuser
    Joined
    Apr 14, 2013
    Messages
    5,107
    Reaction score
    1,228
    • Thinking Positive Gold
    • Purchased!
    • Legacy Citizen 11
    Most mods currently are server plugins or decorative block additions, because modding the code directly is currently 1) a pain in the ass 2) would require frequent updates, and 3) probably a violation the TOS.
     
    Joined
    Jun 23, 2013
    Messages
    24
    Reaction score
    7
    • Community Content - Bronze 1
    • Legacy Citizen 2
    • Legacy Citizen
    ... and 3) probably a violation the TOS
    Nope, I checked.

    EULA said:
    You have permission to adapt StarMade for your own personal (non-commercial) use, but you must not distribute your adaptations in any way that is unfair or adversely affects our rights in StarMade. Beyond that, you are not allowed to copy, reverse engineer or de-compile StarMade without permission.
    So as long as you are "adapting StarMade for your own personal use", you can copy, reverse-engineer, or decompile. (Indirect monetization of content is allowed in the next bullet point.)

    Note that farther up in the EULA it says you cannot redistribute StarMade, so mods must be distributed without any StarMade code in them.
     

    therimmer96

    The Cake Network Staff Senior button unpusher
    Joined
    Jun 21, 2013
    Messages
    3,603
    Reaction score
    1,053
    The only person who I know of succeeding to properly mod the game has disappeared recently, but I'm going to tag him anyway...


    Megacrafter127 bb <3
     

    Reilly Reese

    #1 Top Forum Poster & Raiben Jackpot Winner
    Joined
    Oct 13, 2013
    Messages
    5,140
    Reaction score
    1,365
    • Legacy Citizen 8
    • Thinking Positive
    • Purchased!
    None of these "CORE" mods you speak of. The biggest mod is ARES.
     
    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    The only person who I know of succeeding to properly mod the game has disappeared recently, but I'm going to tag him anyway...


    Megacrafter127 bb <3
    In that case, I return!

    Also, I did find a way to have 'weak core' mods without having to update them every starmade update. they will have to be reinstalled by the user, but at least the code doesn't even have to be recompiled.
    However, the interactions of such a 'weak core' mod with the rest of the game is VERY limited, as only the not obfuscated parts of StarMade's code can be utilized. As such, a 'weak core' mod cannot add much to gameplay, however they can provide useful tools or other functions to be launched alongside starmade. The most downloaded 'weak core' mods, I could find in the CC are:
    MusicMade (Effectively a wav and ogg music player launched alongside starmade)
    Mega's SMModLoader (there aren't any mods written for it yet, AFAIK)
    MSCC - Megacrafter127's Ship Resource Calculator (calculates how many resources[uncraftable items] you need to craft all items used in a blueprint. Reads the crafting recipies from the server you are playing on at the moment)
    (I stopped looking after reaching a download count of 30 or less)

    Another type of mod, that actually can add a few gameplay features, although still very limited, are wrappers, reading the standard output of a server instance and then running admin commands on the server in response using the standard input.
     
    Last edited:
    • Like
    Reactions: astronouth7303
    Joined
    Jul 28, 2013
    Messages
    12
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    I'm waiting for this for years now.
    But I don't really see why frequent updates would be a problem. The modding community would just choose a stable version of starmade and develop against that. No need to update the mod for every starmade update. Whoever wants to play with mods would just have to use the latest starmade version that is supported. I know this happend with minecraft a few years ago.

    And what do you guys mean when talking about obfuscation? As far as I know obfuscation is writing bad code on purpose to make it harder to reverse engineer. But I can't really imagine someone doing this on a project the size of starmade.
     

    Ithirahad

    Arana'Aethi
    Joined
    Nov 14, 2013
    Messages
    4,150
    Reaction score
    1,329
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen 8
    And what do you guys mean when talking about obfuscation? As far as I know obfuscation is writing bad code on purpose to make it harder to reverse engineer. But I can't really imagine someone doing this on a project the size of starmade.
    Obfuscation is going through (or having a program go through) and scramble the release version of your code's variables, method names, class names, comments, etc. so that it's hard to figure out what it does. The code itself remains functionally the same.

    AFAIK everything's name in the code switches up every update, too, due to this process.
     
    Joined
    Jul 28, 2013
    Messages
    12
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    I always was under the impression, that a compiler removes names and comments anyway. Or is this some Java specific thing? I'm more of a C++ user nowadays.

    So the schine team is actively preventing these kind of mods? I didn't expect that. Seems pretty paranoid to me...
     

    Ithirahad

    Arana'Aethi
    Joined
    Nov 14, 2013
    Messages
    4,150
    Reaction score
    1,329
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen 8
    Well, I don't know much about it, but a java .jar, when unzipped, is full of resources and class files. I'd assume that, without obfuscation, you could freely pop open the class files in Notepad++ (or anything else, for that matter) and edit things... And crack/steal the game for redistribution, if you wanted, which will become a problem when the game is no longer free. Since Minecraft updates are few and far between, I'd assume that Forge somehow deobfuscates the code every update and provides an interface for people to plug mods into. In our case, by the time someone got a Star!Forge version out the next update would probably have come out...
     

    Lecic

    Convicted Lancake Abuser
    Joined
    Apr 14, 2013
    Messages
    5,107
    Reaction score
    1,228
    • Thinking Positive Gold
    • Purchased!
    • Legacy Citizen 11
    So the schine team is actively preventing these kind of mods? I didn't expect that. Seems pretty paranoid to me...
    I wouldn't call it paranoid to prevent people from being able to steal your game...
     
    Joined
    Jul 28, 2013
    Messages
    12
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    Well, I don't know much about it, but a java .jar, when unzipped, is full of resources and class files. I'd assume that, without obfuscation, you could freely pop open the class files in Notepad++ (or anything else, for that matter) and edit things...
    Actually I'm pretty sure you can not. Java source files typically end with .java, while .class files are the compiled versions of these files. What you would find in a .class file are instructions for the java virtual machine. And these instructions should be pretty hard to read, even for a small program. Let alone a whole game like starmade.

    And about stealing the game. Even if someone would somehow get a copy of the unobfuscated source, how would that help in stealing the game? There is still the copyright that would prevent anyone from selling the game(or part of it). The only possible thing one could do with it is to modify the code for your own use. It might help some folks to crack the game, once you have to buy it. But let's be honest, that will happen anyway. No need to choke the modding community to make this a little bit harder.
     

    Reilly Reese

    #1 Top Forum Poster & Raiben Jackpot Winner
    Joined
    Oct 13, 2013
    Messages
    5,140
    Reaction score
    1,365
    • Legacy Citizen 8
    • Thinking Positive
    • Purchased!
    Actually I'm pretty sure you can not. Java source files typically end with .java, while .class files are the compiled versions of these files. What you would find in a .class file are instructions for the java virtual machine. And these instructions should be pretty hard to read, even for a small program. Let alone a whole game like starmade.

    And about stealing the game. Even if someone would somehow get a copy of the unobfuscated source, how would that help in stealing the game? There is still the copyright that would prevent anyone from selling the game(or part of it). The only possible thing one could do with it is to modify the code for your own use. It might help some folks to crack the game, once you have to buy it. But let's be honest, that will happen anyway. No need to choke the modding community to make this a little bit harder.
    EA steals game.

    Who can win a lawsuit against EA show raise your hands...anyone?
     
    Joined
    Jan 24, 2016
    Messages
    49
    Reaction score
    20
    And these instructions should be pretty hard to read, even for a small program. Let alone a whole game like starmade.
    Pls. Deobfusating stuff is not that hard. There are a lot of deobfuscators available.


    That's more than enough.