ymind / openhelbreath

Automatically exported from code.google.com/p/openhelbreath
0 stars 0 forks source link

HGServer ideas and TODO #9

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
As LoginServer is going very well, I decided to write this.

First of all we must decide which files we should use.

= Files =
1.
Give a try HBPolska's 3.51 HG. Some people were making it from 2.2 without
HBx help. Biggest change from HBx is that they changed int iClientH to
pCliH -> sending ptr to Client instead of ident. They had great stability
as I remember.
2.
Aryes HG sources will be easiest way for us. They does not support 3.82
stuff such as angels and other.
3.
HBx 3.02 by KLKS. This will be best choice. Most of bugs were fixed and it
is 100% compatible with 3.82 stuff. But need to move sending and receiving
player data contents etc. Not much of work at all.
4.
Start out from 2.191 :)

NOW WHEN WE DECIDE WHICH SOURCE WE WILL USE HERE IS THE MAJOR TODO LIST:

1. Remove Winapi dialog and make it console app.
2. Rewrite windows timers to Threads and remove WM_USER+x notifications
2a. ?Propably rewrite XSocket.cpp because it is made of Windows WM_USER
notifications?
3. Make sure it will compile under linux and other platforms!

Not much huh? Tell me what you think about it.

Original issue reported on code.google.com by Drajwer@gmail.com on 18 Oct 2009 at 1:25

GoogleCodeExporter commented 8 years ago
5. Write new HGServer (console application) ;)

Original comment by hbpoland@gmail.com on 18 Oct 2009 at 8:19

GoogleCodeExporter commented 8 years ago
5. Yes, write new HG in Python. 50,000 lines of code. Any takers?

Original comment by Drajwer@gmail.com on 18 Oct 2009 at 11:24

GoogleCodeExporter commented 8 years ago
No python, write in c++.

Original comment by hbpoland@gmail.com on 18 Oct 2009 at 12:33

GoogleCodeExporter commented 8 years ago
1. That Change doesn't really provide stability.  Stability is just finding bad 
code
and fixing it.  With a good exception handler we should be able to find fix 
errors
real quick.
2. Easy for us because Login was built for Aryes HGServer.  But Aryes HGServer 
is
probably outdated and could be unstable.  To work with other HGServers we might 
need
to change save/logout code because some things Aryes changed (blockdate etc) 
and we
have his method in our LoginServer
3. Probably the best option.  Me and KLKS were reversing the 3.51 client. 
4. No - thats what HBx did. We took 2.191 source, 3.51 hgserver.exe, and IDA 
Pro and
converted as much as we could
5. Python sounds like challenge.  I am up for it, but it will take some time.  
I am
not sure if it will be better netcode/threading etc.  

Quickest way is #3 and making it compatible with our LoginServer.  Removing 
platform
dependent code.  Optimizing netcode.

Original comment by SirHypnotoad@gmail.com on 18 Oct 2009 at 12:55

GoogleCodeExporter commented 8 years ago
Agreed with Hypnotoad.

I wrote an issue on code.google.com/p/support to increase our quota. 3.02 HG 
server
still got Game.cpp at around 1mb... 500 revisions of it and 500mb left + 500 
revision
of Client and no more space. Pretty restricting. I asked them for 5gb, will 
see. Do
you know Hypno if there is any newer version of 3.02HBx server?

Hardest part will be removing platform dependency. I have idea that we could 
start
out with a new empty framework which compiles on Linux with ncurses, and on 
Windows
with WinAPI dialogs and timers. This framework should have similiar 
architecture as
HBx, so we could use Copy&Paste method. At this moment even XSocket uses 
WINSOCK and
Windows signals. I can't imagine why koreans does not even use threads.

From minor todos we could work on modules sizes...

Original comment by Drajwer@gmail.com on 18 Oct 2009 at 3:27

GoogleCodeExporter commented 8 years ago
So, starting out with new platform independent framework or working on existing 
code ?

Original comment by Drajwer@gmail.com on 18 Oct 2009 at 3:28

GoogleCodeExporter commented 8 years ago
Get the framework down its more important.  We can than copy and paste critical
functions and update/review them.  Also this way allows us to split things up in
classes and avoid google size limitations.  If we reach our limit just open 
another
project and we resume with current revision lol.  Put a link on main site 
Rev1-Rev500
here etc.

Original comment by SirHypnotoad@gmail.com on 18 Oct 2009 at 3:37

GoogleCodeExporter commented 8 years ago
If there's a way you can pay to increase size limitation just tell me how.

Original comment by SirHypnotoad@gmail.com on 18 Oct 2009 at 3:38

GoogleCodeExporter commented 8 years ago
I saw link "request more quota size" and it leads to /p/support/ and new issue
template. So I wrote them something. I think If we grown into bigger community 
they
will notice it and we could get more storage space with more propability.

I didn't saw any paying options either...

Original comment by Drajwer@gmail.com on 18 Oct 2009 at 5:43

GoogleCodeExporter commented 8 years ago
"5. Yes, write new HG in Python. 50,000 lines of code. Any takers?"
50k lines? I've rewritten most of the HG. The whole project has 'lost' over 15k 
lines.

Original comment by elim...@gmail.com on 28 Oct 2009 at 9:12

GoogleCodeExporter commented 8 years ago
Good morning Cleroth! Wich Language? Are you still working on Helbreath?

Original comment by drazz.rulez@gmail.com on 29 Oct 2009 at 9:16

GoogleCodeExporter commented 8 years ago
C++
I work in www.helbreathlegion.net

Original comment by elim...@gmail.com on 29 Oct 2009 at 6:12

GoogleCodeExporter commented 8 years ago
@elimosv
"5. Yes, write new HG in Python. 50,000 lines of code. Any takers?"
50k lines? I've rewritten most of the HG. The whole project has 'lost' over 15k 
lines

Hello Cleroth. If you could share the sources here, or post some ideas etc it 
would
be great. BTW You have access to svn now so you can contribute.

Original comment by Drajwer@gmail.com on 5 Nov 2009 at 10:58

MysteriousM commented 7 years ago

Hi, what original Siementech version are you all basing this on?