Client/Server interface documentation

Forum for alternative clients, mods & discussions on the same.

Moderator: Phades

Client/Server interface documentation

Postby MagicManICT » Fri Sep 02, 2011 4:05 pm

I mentioned this in another thread. (The thread about developing a client for iOS or Android.) I'll give a quick rundown of what I'm thinking here.

The basic concept is to document the client and the server interfaces so that anyone wishing to create a client from scratch can. I'm not aware of any reason that the client has to be in Java using JOGL and AWT. (I could be wrong. There could be procedures that just aren't practical to do without these. Haven't dug into the code enough myself.) If the interfaces are implemented correctly, it should be possible to do the client in Objective C, C#, etc.

However, I think it's going to be a relatively large task that is likely going to need some active community support and not just a single person project. Interfaces are likely to change as bugs are fixed and new content is released. It's not something I'm willing to tackle alone if there isn't going to be anyone else to support it down the road. I also don't want to start something like this without J&L at least saying they don't mind.

I guess my only questions then are:

1. Is there any interest in this whatsoever?

2. Is there anyone willing to help maintain something like this (assuming there is anyone out there with the desire to recreate a client for a platform HnH isn't supported on)?

3. Where should the project be hosted at? My only two thoughts would be Google Docs or a wiki. (RoB wiki maybe?)

I'm sure several people already have some notes on the client code already if they are willing to share.
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
MagicManICT
 
Posts: 18435
Joined: Tue Aug 17, 2010 1:47 am

Re: Client/Server interface documentation

Postby Mashadar » Fri Sep 02, 2011 5:34 pm

I have some interest, at least.
I started a new client a while ago, however as far as it got, you could only login to a custom server, since I couldn't be bothered to figure out the original protocol (the variable and function names being only like two characters in length on average doesn't exactly make this easy). But of course, a client that allows playing on the official server instead of just some sort of private server would be much more interesting.
And if I didn't have to do it alone I might be up for it.

MagicManICT wrote:There could be procedures that just aren't practical to do without these. Haven't dug into the code enough myself.)

I believe there should be no problems implementing a client in another language, with one exception: the client allows loading Java class files as a type of resource. However, one can most likely work around that by providing a replacement for these classes.
User avatar
Mashadar
 
Posts: 379
Joined: Thu Jan 20, 2011 9:34 am

Re: Client/Server interface documentation

Postby boshaw » Fri Sep 02, 2011 6:12 pm

There's code hidden away in some resource files, i have a folder with like 10 of the hidden classes. You can extract them and make it load your extracted ones vs ones embedded in Resource files with some modifications to the UI.java.

Almost all the compile-time errors related to:
java.awt.image.BufferedImage => android.graphics.Bitmap
java.awt.Graphics => idk
java.awt.Color => easy fix; download java.awt.Color and use it, you can rip out stuff not needed as well (really hnh only uses it for getting rgb values, doesn't really need anything special)
java.awt.Font => idk
javax.imageio.ImageIO.write() => idk
java.....KeyEvent => androids KeyEvent code; just need a option to invoke the keyboard
java....MouseEvent => androids MotionEvent + TouchEvent
->Shift/alt/ctrl clicking would have to be modified, maybe even do a small context menu on LongTouchEvents to allow to pick [Normal,Shift,Alt,Ctrl],etc


As for OpenGL:
JOGL GL => GL10
Rewrite all of the render code for GL vertex buffers (no more glVertex#,etc)


GL part isn't that bad since most of the GL rendering is done in one file in a simple manner.


There might be a few other awt things i missed. Really if you can find a good replacement for Graphics,BufferedImage and Font then you can most likely just port hnh code over and redo it with android stuff.... then you debug for run time errors.

Might need to scale down some of the Widgets to fit on phones too.

Apparently there's some java.awt ported code out there but i haven't really looked at it.
User avatar
boshaw
 
Posts: 1590
Joined: Tue Jun 01, 2010 10:22 pm

Re: Client/Server interface documentation

Postby tempwad » Sat Sep 03, 2011 10:14 pm

i have interest to client and server interface messages documentation. doing my own server 4 h&h.
User avatar
tempwad
 
Posts: 383
Joined: Thu Feb 10, 2011 1:03 pm

Re: Client/Server interface documentation

Postby Oddity » Wed Dec 07, 2011 2:21 am

Do it.

A documented version of loftar's client would be nice, too :p
jadamkaz wrote:ah i remember my run in with odditown they are good ppl im sure the only reason they killed ME is because they are troll hunters and i was a troll
User avatar
Oddity
 
Posts: 1979
Joined: Sun Jun 20, 2010 12:04 am
Location: BC, Canadia

Re: Client/Server interface documentation

Postby MagicManICT » Wed Dec 07, 2011 2:42 am

I've been making a few notes here and there. There's nothing organized and I've been working top-down, and I'm sure most people are probably interested in the bottom end stuff. I've also been doing a lot of research on some of the hacks and such Loftar commented on pretty heavily, so I haven't gotten too far.

The question is: If we're going to collect notes, interfaces, and all that stuff, where do we post it all? I don't have the resources to dedicate a website and don't necessarily want to impose more on Spiff and the RoB wiki. There's other free sites out there, but I'll be honest and say this will be the first big project I tackle. I don't know what would be best to use.
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
MagicManICT
 
Posts: 18435
Joined: Tue Aug 17, 2010 1:47 am

Re: Client/Server interface documentation

Postby boshaw » Wed Dec 07, 2011 2:57 am

MagicManICT wrote:I've been making a few notes here and there. There's nothing organized and I've been working top-down, and I'm sure most people are probably interested in the bottom end stuff. I've also been doing a lot of research on some of the hacks and such Loftar commented on pretty heavily, so I haven't gotten too far.

The question is: If we're going to collect notes, interfaces, and all that stuff, where do we post it all? I don't have the resources to dedicate a website and don't necessarily want to impose more on Spiff and the RoB wiki. There's other free sites out there, but I'll be honest and say this will be the first big project I tackle. I don't know what would be best to use.



Why not just post here? Also are you interested in all the messages server -> client -> server and how it works?
User avatar
boshaw
 
Posts: 1590
Joined: Tue Jun 01, 2010 10:22 pm

Re: Client/Server interface documentation

Postby Nummy » Wed Dec 07, 2011 7:54 am

I would also like to get hands on this. Shame devs don't want to give us at least compiled version of server... :(
User avatar
Nummy
 
Posts: 489
Joined: Sat Mar 19, 2011 10:01 am

Re: Client/Server interface documentation

Postby sabinati » Wed Dec 07, 2011 9:01 am

i can provide some hosting space.
User avatar
sabinati
 
Posts: 15513
Joined: Mon Jul 13, 2009 4:25 am
Location: View active topics

Re: Client/Server interface documentation

Postby MagicManICT » Wed Dec 07, 2011 10:02 am

boshaw wrote:Why not just post here? Also are you interested in all the messages server -> client -> server and how it works?


Thought it might get to big to put on the forums. Could do that, though.

Yes, I am. I'm not sure what anyone would do with it, though, other than as an example to study client-server systems as a black box server.
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
MagicManICT
 
Posts: 18435
Joined: Tue Aug 17, 2010 1:47 am

Next

Return to The Wizards' Tower

Who is online

Users browsing this forum: Amazon [Bot], Claude [Bot] and 0 guests