[OPEN SOURCE PROJECT] NosOpen

10/11/2015 21:55 0Lucifer0#1
[Only registered and activated users can see links. Click Here To Register...]

Hi, this is the thread in order to present the project(an opensource emulator(not pserver) for nostale) and release news about the files.

Ko-Fi Page
[Only registered and activated users can see links. Click Here To Register...]

OpenNos Dev-Team
Quote:
404 not found
You love someone work ? don't hesitate to donate.
Credits
Quote:
0Lucifer0
MasterDomino
chucktheripper
Uppermost
Ciapa
Martazza
BlowaXD
genyx
KrisYiu
ShidoEPVP
Sl4yZ
KeepM8
Kyoraku
earthnash
Xarenii
MyTaleON
Dactylr1
Milestones
Quote:
L 1.0.1 (Core)
- Loginserver Architecture
- Logging
- Networking
- DAO
- Packet Factory / Management
- Channel / Server Management

W 1.0.1 (Core)
- Account Management
- Character Management
- Keep Alive

W 1.0.2 (Map)
- Map
- Movement
- Grid-System (Blocking)

W 1.0.3 (Inventory/Npc System)
- Item support
- Inventory support
- Equipment support
- NPC support
- Shop support

W 1.0.4 (Monster/Battle System)
- Skill
- Monster
- Vehicle system
- Battle (excluding PvP)
- Groups
- XP
- Drop
- Skill bar
- New inventory system

W 1.0.5 (Social System)
- FriendList(Except Join Miniland, which comes later)
- Family(All the basic stuff)
- BlackList
- Multi Channel - Server support
- Bazaar
- New Used Item Effect System (Medal, Inventory, basket...)

W 1.0.6 (Miniland/WareHouse/Pet)
- Basic Pet/Partner System
- Miniland Objects
- Mini-Game
- Warehouse (Family and Private Warehouse)

W 1.0.7 (Core Upgrade)
- General code optimalization and cleanup
- Timespaces
- Arena
- Jewelry
- Act4 + Shell
- Arena of Master/Talent(base)
- Raids
- BCard/Buff System
- Pvp
- MapInstance

W 1.0.8 (Core Upgrade)
- Rainbow battle
- Quest
- Full Arena of Master/Talent system
- Ice breaker
- Full Pet/Partner system
- General code optimalization and cleanup
Overall Progress
Quote:
DB: 80%
LoginServer:95%
WorldServer:70%
General Info / Whats Working

Help
Quote:
- What're the commands? : $Help
- Can we have your packet.txt : No! parse them yourself just sniff them!
- Can we have other files for parser? : Yes, simply by extracting them from your client : nslangdata.dat, nsgtddata.dat, nstcdata.dat
- Item/Monster Name isn't in my language : please do your own parser files... get them from your client and you will have the correct language.
- On login nothing happen : verify you can connect with telnet on the correct port "telnet 127.0.0.1 80". if yes you're not on the correct port of your client. If not, you installed something wrong, check if you have disabled any programs working on port 80(eg.skype).
- If issue still hasnt been fixed look inside our troubleshooting file.
- Password is not recognized : verify that your password is hash in sha512 and that your launcher(made it yourself) is done with the most recent nostaleX.dat
- Monsters don't move : parse mv packets.
- Recipe don't work : parse each recipe by click on them for packets.
Tutorial
PART 1 -
PART 2 -
Links

Firstly that's the GIT: [Only registered and activated users can see links. Click Here To Register...]

The French Youtube channel [Only registered and activated users can see links. Click Here To Register...]

Raid thread
[Only registered and activated users can see links. Click Here To Register...]

This thread will permit me to keep an eye on your idea and your opinion. So please leave a comment!

Screenshots
10/11/2015 23:08 IceTrailer#2
You really save the channel of the character in the db? it should be reset by logging it out.

And you don't need to save the max hp/mp, it should be calculated when you login.
Btw you shouldn't save if the char was dead when he logged out. If you login the char, it is always alive.



I did not even have a look at the rest of the db.


But have fun with your pserver :D
10/12/2015 11:30 0Lucifer0#3
Quote:
Originally Posted by IceTrailer View Post
You really save the channel of the character in the db? it should be reset by logging it out.

And you don't need to save the max hp/mp, it should be calculated when you login.
Btw you shouldn't save if the char was dead when he logged out. If you login the char, it is always alive.



I did not even have a look at the rest of the db.


But have fun with your pserver :D
For the channel is just an idea for the managment of canals but i think i will use an other way with socket so i will delete this part.

For the MaxHp and MaxMp i was thinking there was an random value but there isn't so i will delete it too :D

PS: I don't want to make a pserver just the emulator
10/12/2015 15:25 IceTrailer#4
I would recommend to use for one server one exe (so ex. 7 channels in one exe)


These were only recommendations how it would be good in my opinion. Do it your way ;)
10/12/2015 15:52 0Lucifer0#5
i think i will do it like that for the moment (many channels on one exe)
For the moment i'm on the login server i will upload it soon (for the moment there isn't management for many channels but it will be soon :D
10/12/2015 18:18 ohhzelo#6
If you don't stop the work you can create the best emulator ever
10/12/2015 18:43 IceTrailer#7
Quote:
Originally Posted by ohhzelo View Post
If you don't stop the work you can create the best emulator ever
I bet, not.In C# the best nostale server -> impossible.


(see original emulator)
10/12/2015 19:31 ChuckTheRipper#8
I tested doing my own server in C# including observer-pattern, DAO-Factory, Singleton, Entity Framework, whatever.

It had a really nice architecture but it wasn't quick enough to cope with transferring packets with a good performance.

Still, have fun and Good Luck ;)
10/12/2015 19:36 *-OMG-*#9
Quote:
Originally Posted by IceTrailer View Post
I bet, not.In C# the best nostale server -> impossible.


(see original emulator)
Not in order to kill you but.. .NET got a lot of optimizations in this last period that makes it very close to native performances..

Quote:
Originally Posted by ChuckTheRipper View Post
I tested doing my own server in C# including observer-pattern, DAO-Factory, Singleton, Entity Framework, whatever.

It had a really nice architecture but it wasn't quick enough to cope with transferring packets with a good performance.

Still, have fun and Good Luck ;)
It means you didn't it so good as you said. We are talking about nostale, not NSA servers.. C# is good enough to manage it!
10/12/2015 19:50 ChuckTheRipper#10
Probably, we could proof it ;)
10/12/2015 20:05 *-OMG-*#11
Quote:
Originally Posted by ChuckTheRipper View Post
Probably, we could proof it ;)
Maybe i'm wrong, just a test can confirm it..
10/12/2015 20:14 mehdy11#12
"The best language is that you know" ? Good luck for your project ;)
But ".NET got a lot of optimizations in this last period" is true and it's not finish.
10/13/2015 00:41 0Lucifer0#13
Thank you for all advice :D
I released my LoginServer.
I think i will change the mysql management system in order to add a timeout on the connection and just use it if nescessary.
10/13/2015 07:53 ChuckTheRipper#14
Use MSSQL instead of MySQL, you could use Entitiy Framework with it, which is performance optimized for .NET (C#).

Maybe you could create a Github or VSO Project to let me contribute.
10/13/2015 11:17 0Lucifer0#15
I Will stay on mysql because it simpler for those we Know Nothing on it... I choose sha512 for pass hash.