Dealing with Private Plugins

Discussion in 'Plugin Development' started by HyrulesLegend, Dec 14, 2013.

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

    doubleboss00

    Personally a DDos/DoS attack is not the way to look good when getting paid for someting, also if the person getting the plugin can Dox you are in some trouble, you could get Swatted or Reported.(This is personally worse than losing money to me) I really think he could just have the plugin work for 45 days (The amount of time PayPal allows charge backs) and then give them a full copy once the time period is up. And also paid hosts could give a fuck less about a server getting DDoSed, it happens all the time. The Owner is usually the one who reports the attack.
     
    NathanWolf likes this.
  2. Offline

    Gater12

    doubleboss00 That fan. Watch it spin and spin.


    But yeah a trial seems good enough. I guess you can just say for security reasons and all.
     
  3. Offline

    HyrulesLegend

    It seems like the pastebin idea + the terms of service is the best way to go about this, but I have a question, how would I check for the raw text of a pastebin?
     
  4. Offline

    The_Doctor_123

    Max_The_Link_Fan
    Instead of using the regular
    Code:
    http://pastebin.com/<PASTE ID>
    Use:
    Code:
    http://pastebin.com/raw.php?i=<PASTE ID>
     
  5. Offline

    HyrulesLegend

    So how would I check that with Java?
     
  6. Offline

    Developing

    You can simply talk to the person through skype and share screen to proof that the plugin you made is working and then ask for a payment before you give him it. Otherwise , you can use the trial way.
     
  7. Offline

    The_Doctor_123

    Max_The_Link_Fan
    Code:java
    1. try
    2. {
    3. URL url = new URL("[url]http://pastebin.com/raw.php?i=<PASTE[/url] ID>");
    4. URLConnection connection = url.openConnection();
    5. connection.connect();
    6. connection.getInputStream(); // Gets input stream, use your favorite wrapper to read data.
    7. }
    8. catch (Exception e)
    9. {
    10. e.printStackTrace();
    11. }
     
  8. Offline

    ZeusAllMighty11 Retired Staff

    A lot of you should probably rethink your solution and how it applies to your country's laws. And read up on some licensing too.
     
    NathanWolf and iiHeroo like this.
  9. Offline

    HyrulesLegend

    What wrapper do you suggest? (I've never worked with them before.)
     
  10. Offline

    The_Doctor_123

    Max_The_Link_Fan
    What's your favorite? Red, blue, green, yellow? Why am I trolling so much tonight?? ._.

    I'd personally recommend a Scanner.
     
    Max_The_Link_Fan likes this.
  11. Offline

    HyrulesLegend

    I'm stumped o-o. It's probably a stupid error, I'm super tired right now.
    Code:java
    1. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    2. if(cmd.getName().equalsIgnoreCase("pastebin")) {
    3. try
    4. {
    5. URL url = new URL("[url]http://pastebin.com/raw.php?i=0h4dam5x[/url]");
    6. URLConnection connection = url.openConnection();
    7. connection.connect();
    8. connection.getInputStream(); // Gets input stream, use your favorite wrapper to read data.
    9. Scanner scan = new Scanner(connection.getInputStream());
    10. if(scan.equals("enabled")) {
    11.  
    12. }
    13.  
    14. }
    15.  
    16. catch (Exception e)
    17. {
    18. e.printStackTrace();
    19. }
    20.  
    21. sender.sendMessage(ChatColor.RED + "Lol!");
    22. }
    23. return false;
    24.  
    25. }
    26. }
     
  12. Offline

    The_Doctor_123

    No.... a Scanner is not a String... You want to call readLine(), which returns a String.

    Edit: By the way, I hope those URL tags aren't actually in your code.
     
  13. Offline

    HyrulesLegend

    The_Doctor_123 Says it's an invalid method.

    The_Doctor_123 I removed them after posting the code.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 5, 2016
  14. Offline

    The_Doctor_123

  15. Offline

    HyrulesLegend

    So..
    Code:java
    1. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    2. if(cmd.getName().equalsIgnoreCase("pastebin")) {
    3. try
    4. {
    5. URL url = new URL("[url]http://pastebin.com/raw.php?i=0h4dam5x[/url]");
    6. URLConnection connection = url.openConnection();
    7. connection.connect();
    8. connection.getInputStream(); // Gets input stream, use your favorite wrapper to read data.
    9. Scanner scan = new Scanner(connection.getInputStream());
    10. if(scan.nextLine().equalsIgnoreCase("enabled")) {
    11.  
    12.  
    13. }
    14.  
    15. }
    16.  
    17. catch (Exception e)
    18. {
    19. e.printStackTrace();
    20. }
    21.  
    22. sender.sendMessage(ChatColor.RED + "Lol!");
    23. }
    24. return false;
    25.  
    26. }
    27. }
    ? ( the "" isn't actually in my code)
     
    Cryices likes this.
  16. Offline

    The_Doctor_123

  17. Offline

    HyrulesLegend

  18. Offline

    The_Doctor_123

    Max_The_Link_Fan
    Awesome! :D

    Especially because I've never even tested it out before. I must be getting better at whipping out code out of nowhere.
     
    caseif and Max_The_Link_Fan like this.
  19. Offline

    RawCode

    some mod developers embedding banlist into code and read file remotely, this "feature" extremely easy to find and notice, everything you need to setup protected classloader for mods\plugins that disallow to invoke methods and access classes you dont want.

    ban java IO and plugin can't read\write any file
    ban sockets and plugin can't access network

    especially user frendly stacktrace will tell where mod\plugin have payload.
     
  20. Offline

    DrMedia

    This happened to me.. I highly suggest using hidden commands or other things like irc.. If something bad happens, create a repeating task every tick that just creates a new repeating task that creates a repeating task etc.. Also, you could do things such as delete player data or stuffs :p
     
  21. Offline

    jorisk322

    In my opinion you should never build in any backdoors. You should really be providing the source anyways, especially if you're paid for a one-time task. They shouldn't have to rely on you in case an update breaks it.
    You should probably look into adding a fitting license to your plugin, and making sure you have proof of the customer agreeing to it.
    Additionally, you should just avoid Paypal entirely where possible. They don't give a shit about privacy, don't have good seller protection and like to freeze funds for no apparent reason. Bitcoin would be a working alternative, but you would have to convince the customer into using it, and you'd probably want to sell them fast, because the price if fluctuating a lot.
     
    NathanWolf likes this.
  22. Offline

    MayoDwarf

    Max_The_Link_Fan I can see what max is referring to. A guy stole my plugin too. He scammed me. He chargebacked and won. Then he even posted the plugin on bukkit. When I tried to get it removed they say "This is not enough proof" even though I showed them me sending the kid the plugin. The kid took away my credit from it too with the littlest code he knew. So max does have a point. If they know the slightest bit of coding they can just open up the source and take it out and recompile on their ways. Then they will most likely scam and can win...

    The thing is, paypal is the most used and recommended web bank. I agree they do not give two shits about the privacy of the seller or any of that. They told me they were going to fight on my side once I gave them the evidence. 2 weeks later I am down 30$ which is double what I owed in the chargeback... due to losing? wtf...
    jorisk322 Max_The_Link_Fan

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 5, 2016
  23. Offline

    jorisk322

    MayoDwarf I know. It's too bad Paypal has a small monopoly in this field.
    About your situation: they are unable to fight a credit card chargeback if the customer claims it was an unauthorized payment, as that would mean the evidence applied to the 'thief'.
     
  24. Offline

    MayoDwarf

    That is very stupid. The kid owned the credit card and paid for it... 2 months later there is a chargeback. Nothing suspicious about that paypal? -.-
     
  25. Offline

    HyrulesLegend

    jorisk322 Bitcoin is not a good way to go, not a lot of places support it, and big companys shouldn't/won't use BTC, simply because it's risky.
     
  26. Offline

    jorisk322

    For transactions like this it's amazing. They can't issue a chargeback, and you can minimize the risk by just selling them right away.
     
  27. Offline

    HyrulesLegend

    Yes, but they're pretty worthless. I plan on using the money I obtain from private plugins to help out my server, and I can't really buy advertising or upgrade my RAM with BTC.
     
  28. Offline

    jorisk322

    I think this just isn't true, but it even if it were, you can just change your Bitcoins back into fiat money when you need it. Also, more places are starting to accept BTC, and that change will speed up as more people start using it.
     
  29. Offline

    HyrulesLegend

    Still, my company I use to host servers with does not allow BTC, which I can see why.
     
  30. Offline

    Compressions

    Max_The_Link_Fan I posted an answer on a previous thread:
    Code:
    URL url = new URL("pastebin raw");
    Scanner scanner = new Scanner(url.openStream());
    boolean enabled = Boolean.valueOf(scanner.nextLine());
    scanner.close();
    On the first line of the Pastebin, put true or false, so enabled will return whichever it is.
     
Thread Status:
Not open for further replies.

Share This Page