Skip to content

Dream World

-migrated-

This discussion is linked to Dream World. View game

161 posts

Re: Dream World

Posted Jan 31, 2010 3:41 am
Quote from: "DeathsCreation"
Someones figured it out by the look of it. His account was something like adrianowns or adrianrules. Don't quite remember.

...LJ?

lol idek why i still come here

Re: Dream World

Posted Jan 31, 2010 10:54 am

nah, the accounts with that insane amounts of constitution are using their guilds:
a high lvl player puts items in the guild vault (+8 item levels of the account they want to push) and he takes them, sells and buys constitution for it.

Re: Dream World

Posted Jan 31, 2010 6:29 pm
Quote from: "asdf123"
nah, the accounts with that insane amounts of constitution are using their guilds:
a high lvl player puts items in the guild vault (+8 item levels of the account they want to push) and he takes them, sells and buys constitution for it.


I learned thats it's probably the guild glitch that was going around yesterday.
You could make negative donations so people were joining platinum guilds and withdrawing billions of gold. Very lawlful.

Re: Dream World

Posted Jan 31, 2010 11:56 pm

that puzzle solver is helpful, except im still failing for the ones with the colors. so lame.

Re: Dream World

Posted Feb 1, 2010 1:35 pm
Quote from: "maxmax"
Ok this game sucks badly, but it's javascript/html based so easy to hack. Here is the way how you do it:

[...]
- as a value write:
parent.kongregate.stats.submit('puzzles', 5) => for easy badge
parent.kongregate.stats.submit('Emerald City', 1) => for medium
parent.kongregate.stats.submit('mobs-defeated', 2000) => for hard first
parent.kongregate.stats.submit('Dream World', 1) => for hard second

is it theoretical possible to submit money too?

Re: Dream World

Posted Feb 1, 2010 1:39 pm

No, it only tricks kong api to submit the score for the badge, money is server-sided.

Flash .sol locations
Chrome: \AppData\Local\Google\Chrome\User Data\Default\Pepper Data\Shockwave Flash\WritableRoot\#SharedObjects\
Normal: \AppData\Roaming\Macromedia\Flash Player\#SharedObjects

Re: Dream World

Posted Feb 1, 2010 8:52 pm
Quote from: "DeathsCreation"
I learned thats it's probably the guild glitch that was going around yesterday.
You could make negative donations so people were joining platinum guilds and withdrawing billions of gold. Very lawlful.

Didn't have to be a platinum guild -- you could take a newly founded guild, withdraw into the negatives, taking the guild trillions past bankruptcy (kinda like the USA government lol). Then disband it and make a new one with your profits.

Thanks for the tip maxmax (EDIT: it worked perfectly). Does this mean people aren't interested in a bot?

Re: Dream World

Posted Feb 2, 2010 12:20 am

does that glitch still work or has it been fixed already?

Re: Dream World

Posted Feb 2, 2010 12:53 am
Quote from: "TheoQ99"
does that glitch still work or has it been fixed already?


"Could", past tense.

Re: Dream World

Posted Feb 2, 2010 4:59 am

I'm certainly interested in a bot, but it'd be screwed for several hours at a time. There's also those puzzles and random people popping up it would have to deal with, unless you plan on skipping those. Going to have to be on par with a good forum spambot.

Re: Dream World

Posted Feb 2, 2010 7:40 am

Well, I'd gotten the rudimentary framework of a bot done, but the badge trick killed 80% of my motivation... I prefer to save my effort for a game that doesn't blow quite so hard. All I'd gotten as far as doing was making the bot:
log in (get cookie)
go to town
go to dungeon
explore area
blindly spam "attack" 10 times
repeat from start



As for the two puzzle boxes: the correct answer is sent to the client in an obfuscated form so that the player can work on the puzzle without lag. Spend an hour (less if you're smarter than me) poring over the code and you can figure out how it works, so your bot can answer correctly every time.

wishing well and beggar: theres a post on the kong forums with people working out the right amount to donate (its based on level)

gambler, dust merchant: always fight. once you have enough con boosts you can take them without using skills. (speaking of skills, of course the bot should pick a number between 97 and 100 at random, instead of always using 100 effectiveness).

etc.

If your goal is just to make a newbie bot that levels to 10 for the gem bonus, the problem gets much easier because you can skip a lot of encounters and not worry too much about wasting energy. Hell, you could make it switch accounts every 5 minutes, level 20 disposable accounts up at the same time. All you would have to do is create the accounts (under 60 seconds each). on the other hand, you would have to do more prep work in terms of making the bot spend skill points when it levels up, making it switch cities at level 6, and maybe even making it buy and equip weapons/armor.

If anyone wants to do this, have fun.

My crappy code is in the next post. Note that you need:
disposable proxy server (samair.ru has a big list) (i did this because my original ip was banned from kong for exploiting the gold/guild bug. if you're not worried, you could easily modify the program to not use a proxy)
your kongid (go to your profile page and hover over the link "# Forum posts: 212" which should take you to a page like http://www.kongregate.com/users/999666/posts ; that 6- or 7--digit number is your kong ID.)
your kong user name (duhhhhhh)
your kong "token". This is the tricky one; I only know how to find it using wireshark, but in theory it should be somewhere in your kong cookie or maybe the kong DW page, maybe in an obfuscated manner. It looks something like this: 8aa059cf4345df52c6eba26c85d56f7f400b5222423e0ea845c51baf716301e8. The way I find it is start up wireshark, log into DW though a proxy, and look for a request like
http://kong.playmage.com/dream/enter?pr ... af716301e8

Re: Dream World

Posted Feb 2, 2010 7:43 am
Code: [Select]

import java.net.*;
import java.io.*;
import java.lang.StringBuilder;

public class DreamBot
{

public static String host = "kong.playmage.com";

public static String proxyhost;
public static int proxyport;

public static String loginstring;

public static String jsessionid;

public static void print(String s) { System.out.print(s);}


private static String GET(String url)
{

StringBuilder reply = new StringBuilder();


try
{


Socket s = new Socket(proxyhost, proxyport);

OutputStream out = s.getOutputStream();
PrintWriter outw = new PrintWriter(out, false);
outw.print("GET " + url + " HTTP/1.1rn");
outw.print("HOST: "+host+"rn");
outw.print("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20091026 Firefox/3.5.4 (.NET CLR 3.5.10321)rn");
outw.print("Accept: text/plain, text/html, text/*rn");
outw.print("rn");
outw.flush();

InputStream in = s.getInputStream();
InputStreamReader inr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(inr);

String line;

while ((line = br.readLine()) != null)
{
reply.append(line);
}


}
catch (Exception e) {}

return reply.toString();

}


private static String parseForCookie(String raw)
{
int a = raw.indexOf("JSESSIONID=");
int b = raw.indexOf("; Path=");

if ( ( a == -1 ) || ( b == -1 ) ) return null;

return raw.substring(a+11, b);
}




public static void main ( String[] args ) throws IOException, InterruptedException
{
if (args.length < 5)
{
System.err.println ("usage: java DreamBot proxyhost proxyport kongid kongname token");
System.exit(1);
}

proxyhost=args[0];
proxyport=Integer.parseInt(args[1]);
loginstring = "http://kong.playmage.com/dream/enter?pre=1&kongid=" +args[2]+ "&kongname=" +args[3]+ "&token=" +args[4];



for(int i=0;i<50;i++)
{
print("nlogin "+i+": ");

jsessionid=parseForCookie(GET(loginstring));
print(jsessionid+"n");

if (jsessionid!=null)
{
GET("http://kong.playmage.com/dream/town;jsessionid="+jsessionid);
GET("http://kong.playmage.com/dream/dungeon;jsessionid="+jsessionid+"?id=1");
GET("http://kong.playmage.com/dream/explore;jsessionid="+jsessionid+"?loc=5");
for(int j=0;j<10;j++)
{
print(j+" ");
GET("http://kong.playmage.com/dream/battle;jsessionid="+jsessionid+"?attack");
}
}

//Thread.sleep(99412);

}


}

}