Rule Changes re: Obfuscation

Discussion in 'News and Announcements' started by md_5, Mar 4, 2020.

Thread Status:
Not open for further replies.
  1. md_5

    Administrator Developer

    This is to advise that the rules regarding obfuscation have been changed. These changes have been extensively reviewed by staff and are aimed at reducing the instances of unnecessary obfuscation making it difficult for staff to perform their duties. All resources and resource updates posted after today must comply with the new rules or risk being removed. If you use an obfuscator which is not allowed by the rules and wish to gain an exemption you must contact us.

    Rules: https://www.spigotmc.org/wiki/spigot-rules/
    Premium Guidelines: https://www.spigotmc.org/threads/31667/

    ---------------------------------------

    4.1.6: You are allowed to obfuscate your resources, however the decompiled code must be somewhat legible by staff and is subject to the following limitations:
    1. Free resources may only use basic name obfuscation (ie what Mojang does with Minecraft).
      1. This limits you to certain free publicly available obfuscators (eg Proguard, yGuard).
        1. See https://www.spigotmc.org/threads/420746/ for a complete list of approved obfuscators and settings.
      2. Do not use string obfuscation or anything that hides code flow.
      3. In exceptional circumstances exceptions to this rule may be granted.
    2. All resources must retain an unobfuscated package root and main class name.
      1. com.example.myplugin.MyPlugin is an acceptable main class name, com.example.myplugin.a, a.a.a.MyPlugin or a.a.a.a. are not.
      2. com.example.myplugin.a.a is an acceptable secondary class name, a.a.a.SecondaryClass or a.a.a.a are not.
    3. Obfuscation designed to crash inspection tools is not allowed.
    4. All parts of a class must be visible when decompiled and it must be clear what all parts of the code is supposed to do.
      1. Class encryption is not allowed. It does not add meaningful security anyway.
    5. Obfuscated class or member names should not be unnecessarily long or difficult to inspect.
      1. Long (eg llililililillllllliiiillliiiiillii) or illegal (eg CON1) names are not more secure than any other method of name obfuscation — don't use them.
    6. Obfuscation techniques that unnecessarily increase the file size are not allowed.
    7. We may request you use a different obfuscator or none at all.
    8. We reserve the right to remove obfuscated resources without consultation, especially if we believe obfuscation is being used to hide rule-breaking code.
     
    #1 md_5, Mar 4, 2020
    Last edited: Mar 4, 2020
    • Like x 86
    • Agree x 24
    • Funny x 10
    • Winner x 7
    • Informative x 4
    • Friendly x 3
    • Optimistic x 2
    • Useful x 1
    • Creative x 1
Thread Status:
Not open for further replies.