Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[1st playable release]HAZEC MU Client Remake

Newbie Spellweaver
Joined
Jul 25, 2007
Messages
57
Reaction score
34
[HAZEC MU] Client-Server Remake shared.

I have another work to do in next couple mounths, so here are all my work.

Unity Project: https://mega.nz/#!5xZ3gIaC!i9F-2U1NruGZ4xaJsTxzOKGw7edqFSINKmc19KehhvQ
Server Git:
https://github.com/pcdubaum/HAZECMUFR_SERVER
DB: https://mega.nz/#!5oYlwKhA!KbWZt9vRtkuy8HBJvV7cMoSe8M2Y4_nJYpCfw39yTb0


Install Mysql, restore DB. I'm using XAMPP
Install and set up Smartfox

How to Set Up server
1 -
http://www.smartfoxserver.com/download/sfs2x#p=installer
2 -
http://docs2x.smartfoxserver.com/GettingStarted/installation

(if you want u can do the lazy work go to step XXX)
3 -
4 - Compile Assets from server project under SFS2X/extensions/lib - Compile all source code under under SFS2X/extensions/HazecMUFR
5 - open: sfsadmin for user and pass.
6 - navegate to "Zone configurator", create a zone called "HazecMUR", add two rooms "CharSelection" and "Lorencia"
7 - Double click zone "HazecMUR" navigate "Zone Extension" -> Select "HazecMUFR" -> Extension: "HazecMUFR.Login.ExtensionLogIn"
8 - Submit
9 - "Double Click "Lorencia" -> Room Extension: select "HazecMUFR.Game.CreateNPCExtension"
10 - Submit
11 - Start SmartFoxServer.

XXX - Extract this in SmartFox Folder

Open Unity -> Select the Project -> Navigate Assets/Maps and Scenes/LoginScene -> Select "Scene Manager" gameObject and chenge the Host Ip in editor.

Click Play. Fix any error.

Java and SFS2x programming are straight forward. There are fews Unity Remakes, i will create simples scripts to connect any unity remake to server. For those my server will be up for a week.
 
Last edited:
Put Community First
Loyal Member
Joined
Oct 2, 2014
Messages
1,115
Reaction score
833
Looking good, keep up the good work. Will keep an eye out for this, :).

How will this work in conjunction with server files, exactly? Will it need updating per server season, recompiling to add customs like with existing clients, or are you going to have some clever ways to import those like having the client import a .xml list of customs? Details would be cool, ;).
 
Joined
Apr 28, 2005
Messages
6,953
Reaction score
2,420
This is very impressive. Great work!

I know you increased animation frames, but you made things much slower in the process. The walking animation for example seems incredibly slow. More frames is good only when you're adding more animation detail. You're effectively just slowing things down at the moment.

Subscribed. Looking forward to the work you do with this.
 
Joined
Aug 6, 2005
Messages
552
Reaction score
298
Yea the animation speed should be independent of the framerate. You can achieve that with .

I made a player animation in javascript with three.js (r59) some time ago, maybe it helps:
Code:
Player = function (model) {
    THREE.Object3D.call(this);
	this.mesh = null;
	this.castShadow = true;
        var loader = new THREE.JSONLoader();
        loader.load(model, function (gom, materials) {
            this.mesh = new THREE.Mesh(gom, materials[0]);
            materials[0].ambient.setRGB(1.0,1.0,1.0);
            materials[0].morphTargets = true;
            this.mesh.castShadow = true;
            this.add(this.mesh);
        }.bind(this));

        this.update = function() {
		if (this.mesh == null)
			return;
		var time = Date.now() % currentAnimation.duration;
		var keyframe = Math.floor(time / currentAnimation.interpolation) + currentAnimation.animOffset;
		if (keyframe != currentAnimation.currentKeyframe) {
			this.mesh.morphTargetInfluences[currentAnimation.lastKeyframe] = 0;
			this.mesh.morphTargetInfluences[currentAnimation.currentKeyframe] = 1;
			this.mesh.morphTargetInfluences[keyframe] = 0;
			currentAnimation.lastKeyframe = currentAnimation.currentKeyframe;
			currentAnimation.currentKeyframe = keyframe;
		}
		this.mesh.morphTargetInfluences[keyframe] = (time % currentAnimation.interpolation) / currentAnimation.interpolation;
		this.mesh.morphTargetInfluences[currentAnimation.lastKeyframe] = 1 - this.mesh.morphTargetInfluences[keyframe];
	}
		
	var animations =
	[
		{
			name: "Standing",
			duration : 1000, //the duration of the animation in milliseconds
			keyframes : 5, //the number of animation keyframes
			interpolation: 0, //see below
			lastKeyframe : 5, currentKeyframe : 0, //some state...
			animOffset : 30 //the index of the first frame in of the animation in the player.bmd...
		},
		{
			name: "Walking",
			duration : 1000,
			keyframes : 43-36,
			interpolation: 0,
			lastKeyframe : 0, currentKeyframe : 0,
			animOffset : 36
		}
	];
	for (var i = 0; i < animations.length; i++) {
		animations[i].interpolation = animations[i].duration / animations[i].keyframes;
	}
	var currentAnimation = animations[0];
}
 
Put Community First
Loyal Member
Joined
Oct 2, 2014
Messages
1,115
Reaction score
833
i think its ussless,but its only my mind ^_^

I don't think its useless at all. If he can code it a lot better than Webzen's client and he opens the code up (hopefully!), it could be a lot easier to edit than how we currently modify clients. Also it gives him freedom to implement new things if he wants from the start, like high poly model support (imagine HD models like Diablo 3), updated shaders and HDR, etc.
 
Newbie Spellweaver
Joined
Jul 25, 2007
Messages
57
Reaction score
34
How will this work in conjunction with server files, exactly? Will it need updating per server season, recompiling to add customs like with existing clients, or are you going to have some clever ways to import those like having the client import a .xml list of customs? Details would be cool, ;).

I thought in 3 ways. 1- Walk in conjunction with the development of emulators, here even in the forum. 2- Recreate the server. 3- Use reverse-engineering or knowledge of someone to get the commands of server embed on my client.


This is very impressive. Great work!
I know you increased animation frames, but you made things much slower in the process.

Thank u.

Yea the animation speed should be independent of the framerate.

I didn't express myself well, mean 24 key frames, animation will be independent of framerate.


For while I'm using 1 second = 1 animation cycle. That will be changed, I want something more dynamic than the MU Online, it's going to be good. Thank u for the code:eek:tt:


i think its ussless,but its only my mind ^_^

You are half right and half wrong. The initial plan was not redo MU Online.


Half right: Yes, if it is to rebuild using the same models and textures there's no point in the game. Especially if we think on server 50000x xp. Reset-> Bot-> Reset


Half wrong: The game could get new life.
 
Experienced Elementalist
Joined
Apr 15, 2012
Messages
203
Reaction score
25
compatible with actual gs's or its another thing?
 
Newbie Spellweaver
Joined
Jul 25, 2007
Messages
57
Reaction score
34
compatible with actual gs's or its another thing?

Will be.

0.0.1.8 out

Add:
User Interface:
Edge Detection for itens and monsters.
Mini Map.
HpBar
XPBar
Simple Messages
Mouse Animations
Monsters:
Bull Fighter
Lich
Giant
Itens:
Double Axe
Leather Helm, Pants and Armor

Translation:
Added translation to items, monsters and GUI.
Help is wanted to more language.
Pt-br and en-us until now.

Bugs Solved:
Visual Bug with Shadows

pcdubaum - [1st playable release]HAZEC MU Client Remake - RaGEZONE Forums
pcdubaum - [1st playable release]HAZEC MU Client Remake - RaGEZONE Forums


Page:
Full infos

=====

I've been looking at the source code of some gameservers and apparently would not be a very arduous task to adapt the client to use current gameservers.
 
Put Community First
Loyal Member
Joined
Oct 2, 2014
Messages
1,115
Reaction score
833
Do you plan to use this just for your server, or are there plans to release the source later on when complete? Also the screenshots are too small to see much.

Keep up the good work!
 
Newbie Spellweaver
Joined
Jul 25, 2007
Messages
57
Reaction score
34
Do you plan to use this just for your server, or are there plans to release the source later on when complete? Also the screenshots are too small to see much.

Keep up the good work!

I'll release the source in next update. Full Source Code, Shaders, 3D Models in Blender format. There some performance issues in code and i want to correct this until release.

I don't like the origianal graphics and game mechanics is very "locked".








@pcdubaum
What engine are you using in your project?

Good job!
Cheers.

C++/CX and Directx in the "nails". hehehe

The interaction between C++ and DirectX use the component extension(CX). But all the logic is pure c++.
 
Initiate Mage
Joined
Jan 9, 2015
Messages
2
Reaction score
0
I thought in 3 ways. 1- Walk in conjunction with the development of emulators, here even in the forum. 2- Recreate the server. 3- Use reverse-engineering or knowledge of someone to get the commands of server embed on my client.


here is a new chinese technical post about client reversing of MU



the full source code analysed by IDA and extracted from it has been successfully converted into a VC6 project. it is also released in the post


i think it may help ur engine rebuilding though i didnt check or try to compile it yet
 
Last edited:
Joined
Oct 29, 2007
Messages
1,290
Reaction score
1,310
here is a new chinese technical post about client reversing of MU



the full source code analysed by IDA and extracted from it has been successfully converted into a VC6 project. it is also released in the post


i think it may help ur engine rebuilding though i didnt check or try to compile it yet

This is interesting... xsunlightx can you re-upload this to: MEGA or mediafire ?
 
Newbie Spellweaver
Joined
Jul 25, 2007
Messages
57
Reaction score
34
Never dedicated myself to the Assembly. I've never done an application that need this level of optimization.


I need the information of client<->server transmission packages :cool:
 
Newbie Spellweaver
Joined
Jul 25, 2007
Messages
57
Reaction score
34
Well, I had a schedule and I couldn't do it, so I pushed back plans for 15 days.


But as I had promised I am putting the code. (As if anyone cares. At least for now:))


Within the package are files. Blend of monsters, armors and axes. I hope someone likes it at least, the change you make will change within the game.


I'm going to rewrite the first post with some instructions. No pictures or builds now.

 
Initiate Mage
Joined
Jan 9, 2015
Messages
2
Reaction score
0
This is interesting... xsunlightx can you re-upload this to: MEGA or mediafire ?
i'll upload it for you guys when i have time off to qualify that inline assembler code project or u may google-translate by yourself if u find it interesting
that thread starter said translating that project, he has already given a good beginning to, into a pure c/cpp project is not impossible, if more Mu coders're interested in that code.
but im not interested in atm


Well, I had a schedule and I couldn't do it, so I pushed back plans for 15 days.


But as I had promised I am putting the code. (As if anyone cares. At least for now:))


Within the package are files. Blend of monsters, armors and axes. I hope someone likes it at least, the change you make will change within the game.


I'm going to rewrite the first post with some instructions. No pictures or builds now.


thanks for your generous sharing

good luck with your advanced Micro$oftized remake XD
 
Last edited:
Back
Top