Register for your free account! | Forgot your password?

You last visited: Today at 14:53

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



XSCO 2.0+ full

Discussion on XSCO 2.0+ full within the CO2 PServer Guides & Releases forum part of the CO2 Private Server category.

Reply
 
Old   #1
 
bone-you's Avatar
 
elite*gold: 20
Join Date: Mar 2006
Posts: 1,491
Received Thanks: 536
XSCO 2.0+ full (C++ server sources + XProxy)

This archive contains everything aside from XSCO.Mark.I simply because I could not find it on my hdd and looking back at the old thread I made in here now I know why I couldn't find it (didn't name it XSCO xD)



A quick rundown of everything.


XProxy
Quite self explanitory. It's a fully modular proxy written in C++.


XSCO.Mark.II
My second attempt at a CO server. Also the most complete to date.
The xsocket.h in it was my second version of xsocket.h which was also posted in this section with xproxy. It contains bugs that I have addressed in xsocket 3.0. It makes full use of the leaked CO database and I believe the version is 43xx or something. If the sockets are corrected it'd be a nearly functional server. It has a lot of functionality in it and could provide some useful gutting purposes. I personally pride myself over the mapdata and broadcast systems which are both 100% fully functional.

Subprojects:

Auth Server
This is the server players log into.

Main Server
Main game server where players interact on.

Log Server
For the sake of faster execution I created a server for dumping console text for the main and auth. Instead of worrying about multithreaded access to a console class like in my other projects I felt it to be faster and easier to dump the data to a local socket and let another program worry about it.

XSMServer
It was my attempt at creating an external interface for chatting with users in game. The project itself is pretty barren but would have been an awesome feature nonetheless

XSPackets
The packet library that actually takes after the C# one in a way, but is far faster in execution while providing a better interface to the packets. (C# one refers to the one done 2 years ago when I made this not sure how any one out today performs)


/Subprojects


XSCO.Mark.III
My third attempt and did not get very far. Only reason I'm including it is it did create something useful: SQLDB class.

SQLDB
Is my homebrew SQL class wrapper which will sorta make the sql interface like php.
Code:
if (sql->Select("SELECT * FROM account WHERE name='Blue-Fyre'"))
{
	printf("Select successful\n");
	sql->Fetch();
	printf("Name: %s - Password: %s - IP: %s - Email: %s - Admin Level: %d",
		 sql->GetString(0, "name"), sql->GetString(0, "password"),
		 sql->GetString(0, "ipaddress"), sql->GetString(0, "email"), sql->GetInt(0, "admin"));
	sql->Reset();
}
Pretty simple huh. It actually proved critical in my latest project, my Evony proxy bot. (not included)

XSocket 3.0
Fixes many many many of the issues with 2.x but has the CO code gutted so in order to use it the CO code will have to be placed back in it. Problem with the 2.x was simultaneous access to sockets caused unhandled exceptions among other issues.

sqlthread.h
Almost forgot to add. sqlthread.h is a multithreaded SQL queuing class that has amazing processing power. It's generally for mass updates or inserts (I created it to mass insert 12 million rows in sequence) so it may be useful, it may not be.

In-source documentation is non-existent so don't look for it. I don't make it a habit of using comments for the sake of other people reading them because like I always say, most of my projects I do for myself and have no intention of releasing usually.


Reason for releasing these is because I'm going into the Army in 3 weeks and won't have access to a computer for 3-4 months so instead of having these rot on my comp I figure maybe someone here can put them to use.


Honestly I'd prefer these to stay in here if someone can make use of them. I'm giving Lowfyr control over the release of these though. If he thinks these would be a good release to the public for getting some different dev going aside from these crappy C# servers then by all means. I just hope they can be used.

Can't say for sure when I come back if I will be a part of CO dev. After I get out of Basic I'll be in AIT for quite some months and will be jumping to get a laptop for some access. May take me a bit longer to get on though. I'd love to finish my C++ server and after making my Evomap service I think I could really throw together an epic CO server but unfortunately I have no time from now until I ship to do it in so it'd have to come after and I don't know if I'd still be up for it then especially since this Evomap service will resume full blast then. Time will tell. Until then, enjoy.


EWPS. I wrote all this and got too concerned about accuracy that I forgot to paste in the download link.




Forgot to mention. MarkII's login is via Invision Power Board's database. It uses the forum info for game accounts.



pps, I realize there are plenty of bad practices inside. They were a rough draft of the code if you can think of it that way. My goal was to make it functional then fix it up. I got it mostly working and never went through and fixed it up so I would recommend against using it [Mark.II] as an exact base. If you should desire to use it, rewrite it and use it as a guide. It was really my first big scratch program. All my previous projects involved leaked game sources so it was a new experience in trying to find out methods of doing things on my own rather than use someone else's.
bone-you is offline  
Thanks
31 Users
Old 01/06/2010, 21:10   #2
 
lostsolder05's Avatar
 
elite*gold: 20
Join Date: Jan 2006
Posts: 890
Received Thanks: 240
nice release. it'll be a good reference for when i finally start learning c++.
lostsolder05 is offline  
Old 01/11/2010, 17:10   #3
 
InfamousNoone's Avatar
 
elite*gold: 20
Join Date: Jan 2008
Posts: 2,012
Received Thanks: 2,882
useful for the mysql reference, never knew how to use it in c++ lol
InfamousNoone is offline  
Thanks
1 User
Old 07/10/2010, 21:30   #4
 
bone-you's Avatar
 
elite*gold: 20
Join Date: Mar 2006
Posts: 1,491
Received Thanks: 536
Hey, I think this is ready for some public attention. Can we get a move on this thread into the public CO section? Maybe it can inspire someone to create something
bone-you is offline  
Old 07/10/2010, 22:17   #5

 
elite*gold: 146
Join Date: Apr 2008
Posts: 14,686
Received Thanks: 9,968
moved to public forums
Die Schnittstelle is offline  
Old 07/10/2010, 22:20   #6

 
Kiyono's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 924
Didn't know that you were still around, thought you gave up on CO a long time ago.
Kiyono is offline  
Old 07/10/2010, 22:28   #7
 
Nullable's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 390
Received Thanks: 321
Love the sql wrapper, will come in handy. :P
Nullable is offline  
Old 07/10/2010, 22:57   #8
 
bone-you's Avatar
 
elite*gold: 20
Join Date: Mar 2006
Posts: 1,491
Received Thanks: 536
Quote:
Originally Posted by Nullable View Post
Love the sql wrapper, will come in handy. :P
I have a small update for it you might want to use:

Code:
BOOL CSQLDB::Update(char * query, ...)
{
	va_list argptr;
	va_start(argptr, query);

	char query2[500];
	memset(query2, 0, 500);
	_vsprintf_s_l(query2, 500, query, NULL, argptr);
	va_end(argptr);
Works for all the functions. Allows printf syntax in the params.

Also needs this as a DUR addition.

Code:
__int64 CSQLDB::GetInt64(int row, char * fieldname)
{
	for (int i = 0; i < m_iFields; i++)
	{
		if (!strcmp(xsco[row][i].fname,fieldname))
		{
			return xsco[row][i].val;
		}
	}
	return FALSE;
}
bone-you is offline  
Thanks
3 Users
Old 07/11/2010, 00:15   #9
 
elite*gold: 20
Join Date: Apr 2008
Posts: 2,281
Received Thanks: 912
Wow, I'm truly stunned.
Amazing work.
kinshi88 is offline  
Thanks
1 User
Old 07/11/2010, 00:21   #10
 
bone-you's Avatar
 
elite*gold: 20
Join Date: Mar 2006
Posts: 1,491
Received Thanks: 536
PS. This is old old old lol. I started dev on my first co source 2.5 years ago and I believe I started this one about 2 years ago. Only worked on it for like a month or so got bored of it after a while.
bone-you is offline  
Old 07/11/2010, 01:00   #11
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
:O... too bad I never really developed a real interest in C++... regardless this is absolutely fantastic and will be GREAT for those around here who are actually looking to learn more advanced stuff.

Guhhh... maybe I'll give C++ a shot someday... I've just gotten so comfy working with C# and just thinking about moving to something is intimidating lol.
pro4never is offline  
Old 07/12/2010, 10:47   #12


 
KraHen's Avatar
 
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 793
I feel like it`s my birthday Thanks a lot for this, it will help me advance in C++ a lot
KraHen is offline  
Old 08/06/2010, 01:14   #13
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,765
Received Thanks: 382
Awsome work.
+1
Fish* is offline  
Old 08/06/2010, 10:24   #14
 
elite*gold: 20
Join Date: Apr 2008
Posts: 2,281
Received Thanks: 912
This needs a bump!
kinshi88 is offline  
Thanks
1 User
Old 08/06/2010, 10:34   #15
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,765
Received Thanks: 382
Quote:
Originally Posted by kinshi88 View Post
This needs a bump!
Were thinking same
Fish* is offline  
Reply


Similar Threads Similar Threads
WTS MYSro 91 Glavier Full STR+73 S/S Full INT+38 Blade Full STR same account
04/24/2011 - Silkroad Online Trading - 6 Replies
And the account have again many items, silks, pet, and reverse scroll I sell because i don't play it anymore, i don't have time... 30$ or 40$, i accept only Paypal. (No trade) If u want can contact me via PM on forum or found me at MSN [email protected] It's 125 screenshot :) I have post for momently the download .rar MEGAUPLOAD - The leading online storage and file delivery service
XSCO - Server
12/05/2007 - Conquer Online 2 - 7 Replies
I've recently decided to do a slight rewrite of my emulator and even though it has set me back a bit, I have a lot of time ahead of me to work on this for now. I plan to get it as playable as possible over the next few days and if things go the way I want them to, it will be nearly complete by next week. I'm prepromoting it in hope to get a crowd ready to help test it (and help test by then). There will be a beta stage and afterwards characters will be wiped but those who helped participate...



All times are GMT +2. The time now is 14:53.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.