-
[Development]Gunz GameServer
http://gunzgameserver.googlecode.com...nk/GameServer/
That link is the current SVN I have setup for my emulator. As of right now I have login and character list done. Just a bit busy with family in town, I'll try to make it to channels by tonight.
Edit:
DB.sql
Code:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Character]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Character](
[CID] [int] IDENTITY(1,1) NOT NULL,
[AID] [int] NOT NULL,
[Name] [varchar](16) NOT NULL,
[Level] [int] NOT NULL DEFAULT ((1)),
[Sex] [int] NOT NULL DEFAULT ((0)),
[Head] [int] NULL DEFAULT ((0)),
[Body] [int] NULL DEFAULT ((0)),
[Hands] [int] NULL DEFAULT ((0)),
[Legs] [int] NULL DEFAULT ((0)),
[Feet] [int] NULL DEFAULT ((0)),
[WeaponPrimary] [int] NULL DEFAULT ((0)),
[WeaponSecondary] [int] NULL DEFAULT ((0)),
[Melee] [int] NULL DEFAULT ((0)),
[ItemPrimary] [int] NULL DEFAULT ((0)),
[ItemSecondary] [int] NULL DEFAULT ((0)),
[RingPrimary] [int] NULL DEFAULT ((0)),
[RingSecondary] [int] NULL DEFAULT ((0)),
[CLID] [int] NULL DEFAULT ((0)),
[Kills] [int] NULL DEFAULT ((0)),
[Deaths] [int] NULL DEFAULT ((0)),
[TimePlayed] [bigint] NULL DEFAULT ((0)),
[MatchesWon] [int] NULL DEFAULT ((0)),
[Index] [int] NULL DEFAULT ((0)),
[Face] [int] NULL DEFAULT(0),
[Hair] [int] NULL DEFAULT(0),
[BP] [int] NULL DEFAULT(0),
[XP] [int] NULL DEFAULT(0)
CONSTRAINT [PK_Character] PRIMARY KEY CLUSTERED
(
[CID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Account]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Account](
[AID] [int] NOT NULL IDENTITY(1,1),
[UserID] [varchar](32) NOT NULL,
[Password] [varchar](64) NOT NULL,
[UGradeID] [int] NOT NULL,
[PGradeID] [int] NOT NULL,
[Name] [varchar](20) NULL,
[Email] [varchar](50) NULL,
[LastIP] [varchar](20) NULL,
[LastConnectDate] [datetime] NULL,
CONSTRAINT [PK_Account] PRIMARY KEY CLUSTERED
(
[AID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
-
Re: [Development]Gunz GameServer
SVN Commit Log:
5/14/2009 7:22 PM - Updated Networking Code.
5/14/2009 11:21 PM - Finished Character Info Response Packet
5/15/2009 9:01 AM - Fixed character list & info. Added character creation & deletion.
5/15/2009 2:36 PM - Huge update. Added database, character select, channel recommend, channel join, channel player list, channel chat.
-
Re: [Development]Gunz GameServer
-
Re: [Development]Gunz GameServer
Great ... and whats an advantage in having this ?
-
Re: [Development]Gunz GameServer
Uhh, it's an emulator? Go compare my code to RoA's I make sure you send a legit packet and my networking code is actually good. Also, my SQLManagment is thread safe unlike his x=
-
Re: [Development]Gunz GameServer
-
Re: [Development]Gunz GameServer
-
Re: [Development]Gunz GameServer
Testing Channel Chat, Still Tying to fix lobby list QQ
[mod]
Screenshot removed due the content of racism text on it. [/mod]
-
Re: [Development]Gunz GameServer
LOOOOOOOOOOOOL my name is Jacob !
Nice emulator.
-
Re: [Development]Gunz GameServer
-
Re: [Development]Gunz GameServer
[o.O]
Good luck with the emu =D
-
Re: [Development]Gunz GameServer
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
bounty-hunter
Great ... and whats an advantage in having this ?
It can actually support multiple Client connections, RoA's can't, lol.
How to Obtain the SourceCode
GZGameServer SVN: http://gunzgameserver.googlecode.com...nk/GameServer/
Step 1: Installing a Subversion client
To checkout (download) the source code you must first have a SVN client. Install one of the following:
-TortoiseSVN is a GUI client for Windows. Recommended for Windows users. It integrates into Windows Explorer, however, will not do so on any server edition. It's recommended to use one of the below clients instead.
-Ankh is a GUI client built into Visual Studio.
-SCPlugin is a GUI client similar to TortoiseSVN for Mac OS X. Recommended for Mac OS X users.
-RapidSVN is a GUI client which has both a Windows and Linux version.
Subversion is the official client. It does not have a GUI. Recommended for all other operating systems.
Step 2: Checking out
TortoiseSVN
Create a new folder at C:\GZGameServer (or any other folder name). Go there, right click and choose SVN Checkout. Enter the URL above and leave the revision box blank (unless you want to download an older version). Press OK to checkout the source code.
SCPlugin
Create a new folder wherever you want then enter the folder, right click, select subversion then check out basically like TortoiseSVN.
RapidSVN
Select Repository -> Checkout... or press Ctrl + O. Enter the URL above in the first textbox, and either type in or browse to the folder to checkout the source to in the second textbox. It is recommended to leave checkboxes at their default settings. Click OK.
To update in the future, select the entry under the Bookmarks tree, right-click and select Update... or press Ctrl + U.
Subversion
svn checkout --username anonymous <repository URL from above> and press enter. Press enter again if you are prompted for a password.
Ankh for Visual Studio 2008
Tools -> Checkout repository -> fill in head (you have to select it), source = enter your repository URL -> give it a nice spot on your hard drive -> login in with username anonymous and it should work (no password).
Step 3: Compiling
You'll need Microsoft Visual C# to be able to compile the SourceCode. Refer to another manual for that, it'll take ages to teach you C#.
-
Re: [Development]Gunz GameServer
You did all that in 1 1/2 days?!
Wow, that is good!
Was kinda hopeing for a c++ emu. ;-(
@[S]pirit, I think RoA's emu. does allow more than 1 client. paulbub fixed it I belive.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
shortymant
You did all that in 1 1/2 days?!
Wow, that is good!
Was kinda hopeing for a c++ emu. ;-(
@[S]pirit, I think RoA's emu. does allow more than 1 client. paulbub fixed it I belive.
A CPP Emu isn't in any bit easy, and could take weeks of work, most likely more. Jacob's been patching this Emu in just barely 5 minutes with me on MSN, C# is just perfect for the GunZ Emulator job.
However, C# code can be translated to CPP, but it needs an experienced Developer and it mot likely would be in GNU C since that would be the only reason to make a CPP Emulator, lol.
And RoA's emulator didn't allow more than 1 client before paulbub fixed it, lol.
-
Re: [Development]Gunz GameServer
PaulBub didn't fix anything in mine as far as I know. And I honestly don't mind if Jacob's is better than mine. He has a lot more experience than I do and I doubt I'll make much progress on mine as it is. I'm not motivated. I haven't played this crappy game in well over 2 years. It's just been a fun little distraction. But I'm gonna be working 40 hours a week this summer and getting ready for college. Not to say I won't work on mine, but if he follows through on his then there's no point in keeping mine public.
Also, keep in mind that he's making fast progress because this is just a rewrite of his old one. He's implemented the protocol before in many forms, this is my first time dealing with Gunz's protocol, I had a lot of stuff to learn.
But whatever, competition in Gunz isn't my thing. Looks good, congrats.
Quote:
Originally Posted by
ThePhailure772
Uhh, it's an emulator? Go compare my code to RoA's I make sure you send a legit packet and my networking code is actually good. Also, my SQLManagment is thread safe unlike his x=
And I will admit that my networking code sucks, it was a hackjob and I suck with networking. But I do check if the packets are legit, UID checks are in place on everything that sends a UID.
-
Re: [Development]Gunz GameServer
Nobody said you sucked, RoA, still.. =/
g'luck with College ;D
-
Re: [Development]Gunz GameServer
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
Team Zebra
PaulBub didn't fix anything in mine as far as I know. And I honestly don't mind if Jacob's is better than mine. He has a lot more experience than I do and I doubt I'll make much progress on mine as it is. I'm not motivated. I haven't played this crappy game in well over 2 years. It's just been a fun little distraction. But I'm gonna be working 40 hours a week this summer and getting ready for college. Not to say I won't work on mine, but if he follows through on his then there's no point in keeping mine public.
Also, keep in mind that he's making fast progress because this is just a rewrite of his old one. He's implemented the protocol before in many forms, this is my first time dealing with Gunz's protocol, I had a lot of stuff to learn.
But whatever, competition in Gunz isn't my thing. Looks good, congrats.
And I will admit that my networking code sucks, it was a hackjob and I suck with networking. But I do check if the packets are legit, UID checks are in place on everything that sends a UID.
Server wise I've only done a bit. Client I understand like 90% of it. I just figured the UDP out actually.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
[S]pirit
A CPP Emu isn't in any bit easy, and could take weeks of work, most likely more. Jacob's been patching this Emu in just barely 5 minutes with me on MSN, C# is just perfect for the GunZ Emulator job.
However, C# code can be translated to CPP, but it needs an experienced Developer and it mot likely would be in GNU C since that would be the only reason to make a CPP Emulator, lol.
And RoA's emulator didn't allow more than 1 client before paulbub fixed it, lol.
C# is not perfect for GunZ Emulator job nor is it perfect for any emulator.
Networking wise, the best language to choose to code any emulator in, no matter what it is, is C or C++. Take my word for it.
-
Re: [Development]Gunz GameServer
Since your still using the winsock libraries any api oriented language works fine for an emulator.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
[S]pirit
A CPP Emu isn't in any bit easy, and could take weeks of work, most likely more. Jacob's been patching this Emu in just barely 5 minutes with me on MSN, C# is just perfect for the GunZ Emulator job.
However, C# code can be translated to CPP, but it needs an experienced Developer and it mot likely would be in GNU C since that would be the only reason to make a CPP Emulator, lol.
And RoA's emulator didn't allow more than 1 client before paulbub fixed it, lol.
No, actually, porting C# to C++ would provide a much better pay off optimization/control-wise, and if you don't want to build a thread-safe library (Among other packages) of your own, there are many available libraries for use already.
-
Re: [Development]Gunz GameServer
Nice Phail. But is thins gonna be an public release? :D
-
Re: [Development]Gunz GameServer
As RoA said I haven't fixed anything, I haven't touched to networking nor packet handling code, I've just wrote a few commands. Once again I don't have internet so I can't do anything. And this project looks promising too I totally agree with RoA.
-
Re: [Development]Gunz GameServer
-
Re: [Development]Gunz GameServer
Cool looks Awsome...Keep up the Good work =]
-
Re: [Development]Gunz GameServer
Do we use the original Locator for this?
EDIT: Could you provide the SQL for us?
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
ThePhailure772
White power? Drop you skid.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
Ryu_ProX
White power? Drop you skid.
No.
Goodjob Jacob.
-
Re: [Development]Gunz GameServer
You forgot to mention that it's the Nox GunZ Server base originally created by OWS and Sulfin?
But grats on resurrecting the old project
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
MackInTosh
You forgot to mention that it's the Nox GunZ Server base originally created by Kolie and Astaelan from Daemons Ring...
But grats on resurrecting the old project
Except this was written by Nick (OWS) and him alone, and shares no relation to that project..
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
gWX0
Except this was written by Nick (OWS) and him alone, and shares no relation to that project..
Ah yeah it was one of those... lol but he still shouldnt be taking credit for others hard work?
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
MackInTosh
Ah yeah it was one of those... lol but he still shouldnt be taking credit for others hard work?
Nick said he didn't care anymore - this project was based off what they did, it wasn't a direct rip.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
gWX0
Nick said he didn't care anymore - this project was based off what they did, it wasn't a direct rip.
It was more of a direct rip from the DR server source and OWS's emulator, but who cares meh just pointing out the original authors who deserve credit for the release.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
MackInTosh
It was more of a direct rip from the DR server source and OWS's emulator. meh who cares
No, it wasn't either, actually - if you believe it was, why not post the original source of the ZDR daemon?
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
gWX0
No, it wasn't either, actually - if you believe it was, why not post the original source of the ZDR daemon?
Jacob can post it he has it >.> lol but despite that lets work together and get something fully functional
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
MackInTosh
Jacob can post it he has it >.> lol
Sounds like you don't want to admit you're wrong - plus, I don't think Jacob would have the permission to..
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
gWX0
Sounds like you don't want to admit you're wrong - plus, I don't think Jacob would have the permission to..
nvm he has given credit
http://gunzgameserver.googlecode.com...eServer/Log.cs
look for string ASTAELAN
Happy now gWX0? Why I have to constantly repeat myself to you doesn't surprise me with the intelligence level some users have on these forums. Perhaps you will have better luck trolling 4chan next time.
Good day to you sir.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
MackInTosh
nvm he has given credit
http://gunzgameserver.googlecode.com...eServer/Log.cs
look for string ASTAELAN
Happy now gWX0? Why I have to constantly repeat myself to you doesn't surprise me with the intelligence level some users have on these forums. Perhaps you will have better luck trolling 4chan next time.
Good day to you sir.
/// This is our Packet logger. MANY THANKS TO ASTAELAN FOR THIS
Packet logger == entire server daemon?
-
Re: [Development]Gunz GameServer
Search the rest of the source code for Astaelan
[edit]
sorry for flaming, had one too many beers at work today :( heading home from work nice chatting with you.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
MackInTosh
Search the rest of the source code for Astaelan
[edit]
sorry for flaming, had one too many beers at work today :( heading home from work nice chatting with you.
I just finished checking the other files - that's the only place where Astaelan is mentioned.
-
Re: [Development]Gunz GameServer
Good job Phail. I'm hoping this will be released as open source. And with anticheat capabilities.
-
Re: [Development]Gunz GameServer
Good job,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:thumbup:
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
XZeenon
Good job Phail. I'm hoping this will be released as open source. And with anticheat capabilities.
I believe you'll have to write your own Anticheat for this one, lol.
-
Re: [Development]Gunz GameServer
good job :]
found some little things you can do better
0xff + 1 always == 0x00
so you dont need the if statement there
using pointers you can get the stuck bytes directly from the memory it will make things faster :]
also you can get the types like int,short,float and etc with pointers too, will be faster then using BitConverter
like this
return *((short*)(raw + pos - 2));
will return short from packet pointer
also
public bool Read(ref long pLong)
the mSize should be increaced by 8 and not 4 like
mSize += 8;
cause long is 8 bytes :]
use short,int,uint and etc instand of Int16,Int32 UInt32 and etc classes
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
ThreeSix
good job :]
found some little things you can do better
0xff + 1 always == 0x00
so you dont need the if statement there
using pointers you can get the stuck bytes directly from the memory it will make things faster :]
also you can get the types like int,short,float and etc with pointers too, will be faster then using BitConverter
like this
return *((short*)(raw + pos - 2));
will return short from packet pointer
also
public bool Read(ref long pLong)
the mSize should be increaced by 8 and not 4 like
mSize += 8;
cause long is 8 bytes :]
use short,int,uint and etc instand of Int16,Int32 UInt32 and etc classes
Short = alias of Int16, etc.
I've never used pointers in C# either x=
-
Re: [Development]Gunz GameServer
i know, i have readed somewhere thats better to use short insatnd of Int16, but i guess its nvm
well you should try use pointers it will make your code run faster :]
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
ThreeSix
i know, i have readed somewhere thats better to use short insatnd of Int16, but i guess its nvm
well you should try use pointers it will make your code run faster :]
Then it also becomes unmanaged code :(
-
Re: [Development]Gunz GameServer
hmm... Mind posting the release in a rar? I just wasted my time downloading everything and it didn't work..
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
XZeenon
hmm... Mind posting the release in a rar? I just wasted my time downloading everything and it didn't work..
Use one of the parts of your brain to make this work. Don't expect a 15-page readme for the every-day newb.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
CobraCom
Use one of the parts of your brain to make this work. Don't expect a 15-page readme for the every-day newb.
Huh? The Project files is what i'm talking about. It's missing a file. I don't need a "Readme". I didn't ask for a tutorial. Now you use a part of your brain. I asked for the upload in one single archive. Sheesh... TBH, people keep being (blank) and make you look like an (blank) when it actually makes them look like an (blank). Figure it out lol.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
XZeenon
Huh? The Project files is what i'm talking about. It's missing a file. I don't need a "Readme". I didn't ask for a tutorial. Now you use a part of your brain. I asked for the upload in one single archive. Sheesh... TBH, people keep being (blank) and make you look like an (blank) when it actually makes them look like an (blank). Figure it out lol.
Are the blanks all the same language. Or 3 different failure-languages?
-
Re: [Development]Gunz GameServer
XZeenon you should just setup the SVN to have lastest source.
-
Re: [Development]Gunz GameServer
ThePhailure772 watch over your SQLDataReaders you are not closing all of them
after Int16.MaxValue open connections it will throw exception
-
Re: [Development]Gunz GameServer
Good Job, Very well coded.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
XZeenon
hmm... Mind posting the release in a rar? I just wasted my time downloading everything and it didn't work..
He's not fucking supposed to do all the work for you, is he?
YOU Download C#.
YOU Download the SVN repository.
YOU Compile the Emulator.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
[S]pirit
He's not fucking supposed to do all the work for you, is he?
YOU Download C#.
YOU Download the SVN repository.
YOU Compile the Emulator.
LOL. Are you stupid? I asked for all the files in one archive. I'm not asking for him to do work for me. Just want the project files in ONE ARCHIVE. I have C#. If you had proper conprehension you'd understand a simple request. I'm just asking for a One-Link download, for the project.
-
Re: [Development]Gunz GameServer
And he gave you the best solution, because once it's setup (wich isn't hard in any way) the source keeps getting updated.
-
Re: [Development]Gunz GameServer
Quote:
Originally Posted by
XZeenon
LOL. Are you stupid? I asked for all the files in one archive. I'm not asking for him to do work for me. Just want the project files in ONE ARCHIVE. I have C#. If you had proper conprehension you'd understand a simple request. I'm just asking for a One-Link download, for the project.
I think PaulBub just answered properly. What's the difference between Archiving it in a RAR, or using Subversion? Jeez, the kids here.