[Development] C# sources

09/14/2010 21:15 hio77#121
Quote:
Originally Posted by UnbeatenRs2 View Post
well good luck yet again(i think i said it on a diff page, cant remember).

if you need any help(graphics wise) im here :D, say you want a custom GUI for the servers, i can do that :D
lol i preferred your original message :D

any help is gladly accepted ... yes i do kinda wanna solo it so i know it is done as good as i know possible but there are a lot of walls to hit lol
10/05/2010 16:56 Arcо#122
If this is still C# I kinda want to get involved. Add me on msn. I'll leave some references here for you to check out.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Btw, in case you don't have one, here's a really good SQL Wrapper that I use.

MySQL Base.cs

Command Type.cs

MySQL Command.cs

Here's an example of how I loaded with it and saved with it.
LOAD

SAVE
10/06/2010 07:10 hio77#123
Quote:
Originally Posted by Аrco View Post
If this is still C# I kinda want to get involved. Add me on msn. I'll leave some references here for you to check out.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Btw, in case you don't have one, here's a really good SQL Wrapper that I use.

MySQL Base.cs

Command Type.cs

MySQL Command.cs

Here's an example of how I loaded with it and saved with it.
LOAD

SAVE
looks awesome, sorry i aint been round .... school and study is heavy atm

would be great to get someone else on board, ild say you will be able to show me where i have messed up in packets etc (im working on getting 2 players to be able to see each-other atm)

the walking is slightly different it seems - smaller/larger visible screen i think and i may have the walk packet slightly messed

i can get you a copy of what i have done so far ... only problem is last time i looked at it i think i may have broken a few loops and checks to force something to happen :D

in that case it might eat your cpu unless you also have a decent one :)

we will talk more on msn hopefully though :)

-hio77
10/07/2010 17:05 funhacker#124
Quote:
Originally Posted by hio77 View Post
looks awesome, sorry i aint been round .... school and study is heavy atm

would be great to get someone else on board, ild say you will be able to show me where i have messed up in packets etc (im working on getting 2 players to be able to see each-other atm)

the walking is slightly different it seems - smaller/larger visible screen i think and i may have the walk packet slightly messed

i can get you a copy of what i have done so far ... only problem is last time i looked at it i think i may have broken a few loops and checks to force something to happen :D

in that case it might eat your cpu unless you also have a decent one :)

we will talk more on msn hopefully though :)

-hio77
view is larger than the game's viewport easily seen by using the scale command to zoom out and you will notice the NPCs showing up as you walk near and so forth.
10/09/2010 16:59 Arcо#125
Well I'm proud to announce that I have joined in the creation of this source :D
11/07/2010 01:03 Seraphium#126
Is this still an active project?
11/09/2010 03:29 hio77#127
Quote:
Originally Posted by Seraphium View Post
Is this still an active project?
yea I'm still active with it this project was just put on the side while im working on school work, as i said in my pm i start study leave tomorrow and ill most probably put a bit of that time into this source again - only about 3 weeks then ill actually be done with school for the year and then ill have lots of time for this project :)

just before I pulled myself away from the computer for school work arco was starting to get into this project so he has iver carried it on, put it on the side or dropped it - which ild understand being that I left for so long.

btw arco idk how ima remember your new name lol!
11/10/2010 00:53 .Ash#128
is this is possible with Java?..
11/10/2010 00:57 hio77#129
Quote:
Originally Posted by SpongeBox View Post
is this is possible with Java?..
yea its is but to be honest i don't know why you would ... i have been messing with a game called minecraft with friends (garys mod but java and blocks basically)

java just stresses to hell cpus the likes of C++ or C# is a better choice for it but it is possible.

there was a popular conquer server Qonquer if i remember right which was actually ran off java and it was a pretty good server so you just really need to know what your doing with java.

i find C# a little more easier to bend to what i want it to do.

EDIT: just giving everyone a update ...

as for how the server is progressing .... today in the last hr or so i have worked on it i saw my biggest flaw which is what was causing alot of issues - walking, spawning etc

turns out one of the packets which i was just shoving in there to make the game run fully was actually the spawn packet and somehow i over looked that lol!

by the looks of things ill have spawning going in about 20 mins and walking appears to be working perfect now - eo has a very straight walking packet where instead of calculating a direction on the server it is already sent in the packet so i had to rework all my walking set up (was expecting a 1-8 var indicating walking left right up down diagonal etc but guess not ...)


still yet to work out an unknown value with walking but 99% of the time the server matches what the client sends with that packet so it seems as though its some sort of anti jump protection built into the client (will crash you if its not correct)


also just to let everyone know i am going to be putting ALL the packets structures on a website much like what has been done for conquer, anyone needing to know about the packets will be able to pull them off there which will aide anyone else in starting up there own project, say java for example :)

co packet wiki -> [Only registered and activated users can see links. Click Here To Register...]

I don't see myself making anything this complex for starters but later on I may (complex being all the structs, enums etc on there - unless I copy my own there)

EDIT2:

well i managed to get spawning working almost perfectly now

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

the npc is the default one on purpose, was npc id 1 so it has no option but to be like that same as any other server sending npc id 1 to client and client producing information from there

mobs in theory will work exactly the same but i am not adding those till later on.

npc chat also works (npc menus depending on what you wanna call it)

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

as you see if there is no actions coded for the npc it will actually spit something out.

ild also like to mention this is about 50X faster than binary's



just on another note ... my binary server will be coming up very soon and one thing which i will be offering on there is being able to use your account on a copy of this source being as a test server (load testing etc) to a point i know exactly how this will handle - awesome except for the threads but that is because it has basic muti threading atm (new thread for each connection) i know some will say this is good but when you start talking 100 players it really makes sense to optimise a bit and drop them down

closer to the time of the release I will make everything a lot more clear and will also be mentioned in my server topic
11/10/2010 13:11 funhacker#130
Could I suggest a socket config file that will determine amount of players per thread? Things like maps per thread too could also be covered.

Also Hio considering your work on this I would really like to get working with this myself some time I am just waiting on my connection to speed back up so I can download VMWare and XP as my download of VS6.0 Professional wont install on Win7 x64 :(

I would especially love to code in my own cq_action code :)
Although at the moment we can't modify the client at all but being able to manipulate stuff via the cq_action is the next best way to go about it
11/10/2010 13:57 hio77#131
Quote:
Originally Posted by funhacker View Post
Could I suggest a socket config file that will determine amount of players per thread? Things like maps per thread too could also be covered.

Also Hio considering your work on this I would really like to get working with this myself some time I am just waiting on my connection to speed back up so I can download VMWare and XP as my download of VS6.0 Professional wont install on Win7 x64 :(

I would especially love to code in my own cq_action code :)
Although at the moment we can't modify the client at all but being able to manipulate stuff via the cq_action is the next best way to go about it
yea im looking to add things like that once its stable :)

strange that it wont work though... im running it on win 7 x64 atm with no issues at all - the first release of it even lol... the official microsoft one :D

i wouldn't try downloading it while capped iver lol just gotta find the exploits in your isp :P

currently the action code is in C# itself but would be very easy to move to mysql

Code:
 case 104839: // BoxerLi PC- TG teleporter
                    {
                        if (LinkBack == 0)
                        {
                            Text("Hello I can help you train after you reach level 20,\n But I will charge you 1,000 gold.\n Would you like to go to the Training Grounds?", CSocket);
                            Link("Yes Please, Here is the money", 1, CSocket);
                            Link("No Thank you I cannot afford it.", 255, CSocket);
                            End(CSocket);
                        }
                        else if (LinkBack == 1)
                        {
                            if (CSocket.Client.Money >= 1000)
                            {
                                Teleport(1039, 219, 215, 0, CSocket);
                                Money(-1000, CSocket);
                            }
                            else
                            {
                                Text("How dare you try to rip me off! Get lost, Or get my money!", CSocket);
                                Link("I'm sorry, I didn't realize.", 255, CSocket);
                                End(CSocket);
                            }
                        }
                        break;
                    }
11/13/2010 01:57 Seraphium#132
Oh great, im looking forward to seeing what you guys can come up with. Im willing to help in any way I can and I wish you guys good luck. Ill be checking back to this thread to see how everything is going. Please keep us involved and updated.
11/13/2010 03:33 hio77#133
Quote:
Originally Posted by Seraphium View Post
Oh great, im looking forward to seeing what you guys can come up with. Im willing to help in any way I can and I wish you guys good luck. Ill be checking back to this thread to see how everything is going. Please keep us involved and updated.
we are all back on track :) i have seen the ALL the messups i did in the packets now as well :D so we can get them actually correct this time.

also arco is still on the project so me and arco will have something working quite well soon :)

btw does anyone remember what the data column controls in cq_item - it is sent in the packet and personly data dont mean anything to me so ima give it a better name :)
11/13/2010 05:29 Seraphium#134
Ill do some testing and see if I can find out what it controls for you. Btw, do you have msn?
11/13/2010 05:34 hio77#135
Quote:
Originally Posted by Seraphium View Post
Ill do some testing and see if I can find out what it controls for you. Btw, do you have msn?
thanks :) i do remember it being posted on here but i cant seem to find the topic explaining all the values lol

yup :) its on my profile


EDIT:
well i now have the server working with the correct packets (i hope) and i have started adding all the packets that might be used ... such as the stats packet.

also just as something to compare to ... though my server doesn't include everything current binarys have it does however load up in under a second (measured by tick timers) and this time will most properly decrease (unless i move to more things being based in mysql in which case there could be some delay in that till it is cached as mysql 5.1 increases speed A LOT because of this )

also dialogs now fully work (warehouse etc) just needs to be populated.

another thing is i have added PK which means that you can now get the player status UI (HP MP stamina etc) - this does not mean player vs player but the functions that control which pk mode you are on. i have had someone ask me why i bothered to add pk so soon but it is simply because pk values must be sent for the client to have a complete ui.

although pk could be possible very easily i wont bother with it atm, i may end up hosting a pvp server for testing purposes soon however so that everyone may see what this source is capable of.