Is this still a current client path, with the new client implemented?
**Edit: nm found a way to fetch it from my phone
kirion wrote:Would someone please explain how to setup a project using NetBeans or Eclipse, step by step? I'm unfamiliar with java's IDEs, even more on how to import from Git...
javaw -Xss1024k -Xms512m -Xmx1024m -jar hafen.jar -U http://game.havenandhearth.com/hres/ game.havenandhearth.com
Händler wrote:Got the client.
Made a build with ant.
Ran client with
- Code: Select all
javaw -Xss1024k -Xms512m -Xmx1024m -jar hafen.jar -U http://game.havenandhearth.com/hres/ game.havenandhearth.com
Successfully connects to the server.
Can login to my account, move around, use UI and everything with a new character (fairy orb 3D model).
But once the game tries to load my human character model, game freezes.
Is this client the vanilla client ready to go and ready to get extra modification or does it require some extra setup to run the vanilla version? Do I need to fetch the gfx resources like for the characters from the server and unpack them into a jar or something?
private static void main2(String[] args) {
// https://game.havenandhearth.com/java/hafen.hl
System.setProperty("haven.errorurl", "http://game.havenandhearth.com/java/error");
System.setProperty("haven.defserv", "game.havenandhearth.com");
System.setProperty("haven.resurl", "https://game.havenandhearth.com/res/");
System.setProperty("haven.screenurl", "http://game.havenandhearth.com/mt/ss");
System.setProperty("haven.cachebase", "http://game.havenandhearth.com/render/");
System.setProperty("haven.mapbase", "http://game.havenandhearth.com/java/");
System.setProperty("haven.fullscreen", "off");
System.setProperty("haven.sun.java2d.uiScale.enabled", "false");
Config.cmdline(args);
...
Kaios wrote:Spice Girls are integral to understanding Ysh's thought process when communicating, duly noted.
Händler wrote:-U http://game.havenandhearth.com/hres/
kmarad wrote:I'm coding a client in python, and I have a little question about Hafen code :
OCache.java seems to get the "Delta" messages, and updates the client accordingly.
There is a lot of types of "delta" messages, and I don't really need all of them.
Especially for a beginning. I'd like to just get gobs, their movement, and their removal.
But since those messages are all packed in a bigger one, It looks like I must treat every single one to be sure to get those that I need.
Is that right or is there a lovely work-around ?
shubla wrote:Well you don't have to simulate them all, you can just read enough to ignore them. Literally copy paste code from OCache.java, maybe 1 hour of work.
kmarad wrote:shubla wrote:Well you don't have to simulate them all, you can just read enough to ignore them. Literally copy paste code from OCache.java, maybe 1 hour of work.
Haha, I'd gladly watch anyone translate OCache.java to it's python equivalent in an hour.
public Delta overlay(Message msg) {
int olidf = msg.int32();
boolean prs = (olidf & 1) != 0;
int olid = olidf >>> 1;
int resid = msg.uint16();
Indir<Resource> res;
Message sdt;
if(resid == 65535) {
res = null;
sdt = Message.nil;
} else {
if((resid & 0x8000) != 0) {
resid &= ~0x8000;
sdt = new MessageBuf(msg.bytes(msg.uint8()));
} else {
sdt = Message.nil;
}
res = getres(resid);
}
return(gob -> overlay(gob, olid, prs, res, sdt));
}
def overlay(gob, msg):
olid = msg.getint32()
resid = msg.getuint16()
if resid == 65535:
pass
else:
if (resid & 0x8000) != 0:
Message().addBytes(msg.getBytes(msg.getuint8()))
Users browsing this forum: No registered users and 4 guests