Hello guys, hope you are doing great. I just wanted to share with you the project I have been
working on for the last couple of years.
https://github.com/Ruk33/l2auth
This is just a learning project, I always wanted to work using the C programming language but
never found the right project until I thought, hey, what if I build a Lineage 2 server with it?
Initially, the goal was to just get a password error message, that was it. After several tries,
after bashing my head against the keyboard I managed to get it right and when I saw
I just wanted to keep going, see how far I could make it and how bad could I break things, ie:
(not a bug, clearly a feature)
So far I don't have a lot of functionality but I do have quite a bit of the foundation to keep on adding stuff.
With this project I have learned a lot of things (one of those is being able to lively inject code changes into the
server without requiring to shut it down and restart it) and I thought maybe I can share it with someone else and
they will find it interesting. This is by no means a serious project, at least not for the moment, it's just
a project to learn and have fun.
Hope you like it and if you want to jump in the project you are more than welcome.
Thanks!
Lineage 2 C4 server emulator project in C
Forum rules
READ NOW: L2j Forums Rules of Conduct
READ NOW: L2j Forums Rules of Conduct
- Zoey76
- L2j Inner Circle
- Posts: 7005
- Joined: Tue Aug 11, 2009 3:36 am
Re: Lineage 2 C4 server emulator project in C
Looks good, have you used L2J or other projects as "sources of inspiration"?
Powered by Eclipse 4.30 | Eclipse Temurin 21 | MariaDB 11.3.2 | L2J Server 2.6.3.0 - High Five
Join our Discord!
Join our Discord!
-
- Posts: 13
- Joined: Wed May 05, 2010 8:30 pm
Re: Lineage 2 C4 server emulator project in C
Hi Zoey76 thank you. Yes for sure, without documentation from l2jserver (C4 branch) and other projects I would have been completely lost so, big thank you to you guys!
- jurchiks
- Posts: 6769
- Joined: Sat Sep 19, 2009 4:16 pm
- Location: Eastern Europe
Re: Lineage 2 C4 server emulator project in C
Why not C++? Also, github is not the best place to host the code because a while ago l2j and all its derivatives were DMCA'd from there for legal reasons. This might fit under the same blanket.
If you have problems, FIRST TRY SOLVING THEM YOURSELF, and if you get errors, TRY TO ANALYZE THEM, and ONLY if you can't help it, THEN ask here.
Otherwise you will never learn anything if all you do is copy-paste!
Discussion breeds innovation.
Otherwise you will never learn anything if all you do is copy-paste!
Discussion breeds innovation.
-
- Posts: 13
- Joined: Wed May 05, 2010 8:30 pm
Re: Lineage 2 C4 server emulator project in C
Hello jurchiks. I don't like C++, it's simply not my cup of tea.
Yes, I know l2jserver got taken down a while back but since this is a small project I don't think it will get noticed (not at the point where the repo will be taken down at least).
- jurchiks
- Posts: 6769
- Joined: Sat Sep 19, 2009 4:16 pm
- Location: Eastern Europe
Re: Lineage 2 C4 server emulator project in C
Weird, C and C++ are so similar after all...
If you have problems, FIRST TRY SOLVING THEM YOURSELF, and if you get errors, TRY TO ANALYZE THEM, and ONLY if you can't help it, THEN ask here.
Otherwise you will never learn anything if all you do is copy-paste!
Discussion breeds innovation.
Otherwise you will never learn anything if all you do is copy-paste!
Discussion breeds innovation.
-
- Posts: 13
- Joined: Wed May 05, 2010 8:30 pm
Re: Lineage 2 C4 server emulator project in C
Well C++ has many features that I don't wanna deal with (oop, operator overloading, etc.). I like what C comes bundled with, functions, structs, variables and you are pretty much good to go.
Btw, sent a couple of updates, now you can see other players (even though they move in blocks haha)
EDIT: Fixed, I was sending a movement multiplier = 0, which obviously screws the whole thing up.
Btw, sent a couple of updates, now you can see other players (even though they move in blocks haha)
EDIT: Fixed, I was sending a movement multiplier = 0, which obviously screws the whole thing up.