EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   C# port... gauging interest (https://www.eqemulator.org/forums/showthread.php?t=35782)

EvoZak 09-23-2012 01:22 PM

C# port... gauging interest
 
So I have ported some of the server code over to C# on .net 3.5. It's been a couple of years since I seriously worked on it and don't mind hosting it on GitHub if there is development interest. I want to start working on it again and would like to have some collaborators.

By "some" I mean I have a working UDP server, zoning, inventory management, combat, and lots of other items. It's been awhile but I think I have spells working somewhat. This is a line by line port I did by hand from the C++ source over hundreds of hours. I didn't use any converters so a lot of the class design has changed to meet my tastes, etc.

It is a super fun project that I learned a ton on. Really fun tackling various issues and porting them over. Major respect to the people that originally figured out how they were aligning ints into x bits in those structs.

My original goal was to learn and to see if the .NET framework was a verifiable choice for server programming. It is and has managed code benefits. There's a ton left to do. If there is interest I will provide more details. I don't want to have an epic post in a crickets thead :)

Caryatis2 09-23-2012 03:58 PM

I don't think the benefits of managed code outweigh the hassles of a split project. I also don't think there is a large untapped base of .NET programmers in this community so in reality it would probably be a very small team trying to keep pace with the main project while most server ops just compile the C++ code and go.

Not to mention, linux ops needing to use mono. Don't see it catching on.

EvoZak 10-04-2012 09:31 PM

So mostly crickets. That's cool. Still a fun project. Almost as interesting as watching the community run cool servers and implement the various features.

ankhamunn 10-24-2012 07:23 PM

First time poster / long time lurker. To be honest I've been reading the forums lately thinking that jumping into a client dev project would be a great experience. If you're still around and the offer is still open - I'd love to chat briefly about what you've done. I'm graduating with a degree in CS this December but most of my experience is with Java/Python and a handful of trivial coursework in C/MIPS. Point being - I know my CS stuff but would like to jump into C++/C#/.Net work with a larger project.

Caryatis 10-24-2012 09:40 PM

client != server

ankhamunn 10-25-2012 12:00 PM

Ah totally read what I wanted to read. ;) I've been thinking about doing a C# client to interact with the server. Pardon me :)

EvoZak 10-29-2012 10:31 PM

Honest enough mistake Ankh, no worries. Keep looking in some of the other threads. I've seen one or two client projects get talked about quite a bit.

Speedz 12-11-2012 07:52 PM

Most of what I do in learning to code and making new projects is in C#.
I would very much like to see this.
IMO I don't think it needs to "compete" for devs from the main C++
But if a few people that do code on C# want to play around I think having a good start on the option to do so is great.

I would like to have a look at the source if you still have it available.

addingice 01-09-2013 04:39 PM

Frankly, I would much rather see a Go version then a c# version.

It's designed for servers, it's the exact niche it was designed for, deployment is insanely simple for both windows and linux (and mac) once you understand the methodology (it's the same for all Go rather than different per platform, but it is slightly unique compared to other languages) and it's wonderful to deploy with scripts and patching/updates.

i've been kicking that idea around for a while, especially since I could use native interop to reuse whole swaths of the current code as I slowly migrate it over.

Sadly the main reason I've considered it is not because I love Go so much and the benefits would be so awesome (I would always hate to split teams up or even potentially draw effort away from this), but just because I want to avoid svn and move to git/github =-P

I'm so spoiled with my DVC systems. I love small clean patches with almost no effort to jump into another project.

addingice 01-09-2013 04:49 PM

Oh, and the compile times. Go is so damn fast to compile it's insane. nothing like 'change one line, compile. change one line, compile, etc etc etc'.

daerath 03-19-2013 09:03 AM

Quote:

Originally Posted by EvoZak (Post 212753)
So I have ported some of the server code over to C# on .net 3.5. It's been a couple of years since I seriously worked on it and don't mind hosting it on GitHub if there is development interest. I want to start working on it again and would like to have some collaborators.

By "some" I mean I have a working UDP server, zoning, inventory management, combat, and lots of other items. It's been awhile but I think I have spells working somewhat. This is a line by line port I did by hand from the C++ source over hundreds of hours. I didn't use any converters so a lot of the class design has changed to meet my tastes, etc.

It is a super fun project that I learned a ton on. Really fun tackling various issues and porting them over. Major respect to the people that originally figured out how they were aligning ints into x bits in those structs.

My original goal was to learn and to see if the .NET framework was a verifiable choice for server programming. It is and has managed code benefits. There's a ton left to do. If there is interest I will provide more details. I don't want to have an epic post in a crickets thead :)


Sounds interesting. I've entertained the idea of writing parts of the emu in c#. While it would be exclusively a windows port, there are a number of advantages to using .NET over native code. At a minimum its a neat project and could produce some interesting benchmarks.

Did you / Can you post what you have so far on github?

EvoZak 05-02-2013 10:21 PM

Sorry for the gap in responses. A well placed PM fired an email and alerted me... The result: https://github.com/jasoncoding/EqEmulator-net

Be advised that compared to the C++ project it's a wee infant, but it's still fun and a neat start. I probably have several hundred hours logged on what's there now. I'll be adding better overviews to the code, sample data and a short to do list I had going soon.

Shawn319 05-03-2013 04:23 AM

I'd be interested in looking at the C# port.. although i'm just getting back into the C++ version and getting the clients setup myself.. but definitely will be downloading and taking a peek.

squevis667 05-07-2013 01:24 PM

Knock the dust off this bad boy. I would love to get a look at what you have done.

Vexyl 05-07-2013 05:56 PM

Quote:

Originally Posted by squevis667 (Post 220783)
Knock the dust off this bad boy. I would love to get a look at what you have done.

The github link was already posted:
https://github.com/jasoncoding/EqEmulator-net


All times are GMT -4. The time now is 04:16 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.