Raised This Month: $ Target: $400
 0% 

WC3:TFT.NET plugin (sources kind of included!)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Lim-Dul
Junior Member
Join Date: Jan 2005
Old 03-17-2007 , 21:45   WC3:TFT.NET plugin (sources kind of included!)
Reply With Quote #1

Well - this post is all about the sad story of an awesome system, which I was co-developing with Kenterfie, the famous HLSW coder and plan.los, another German guy. ^^ Our project has been defunct for several years now and our WC3 plugin itself is very messy, not like the current ones, but I'd rather concentrate on someone picking the idea of the master server and socket plugins anyway.

I've posted this message on several forums, so I'm just copying the text from the WCS forum:

Hello!
First, a proper introduction of myself.

I was one of the co-coders of a sub-version of the WC3:TFT plugin for CS 1.6. It was called WC3.net.

I joined the project in 2003 or 2004, I don't recall. The other developers were plan.los, a German gamer and kenterfie, the developer of the famous HLSW application (http://www.hlsw.org/).

Now - plan.los and kenterfie had a dream. That dream constituted of a central XP saving system shared by many WC3 servers, so that every player could join any game they wished and have their proper skills, races etc. Sadly the plugin hasn't become as popular as we'd hoped - it was run on 5 German servers or so at the time of its excellence and has been defunct ever since 2004 or so. The main feature we've added to Pimp Daddy's plugin was of course the global XP saving system and some bug-fixes and tweaks (I find it funny to find some of the things we've fixed in WC3.net back in WCS - e.g. that Night Elves are losing armor when using evasion =).

Since I started to take interest in WCS lately (I've noticed that many things have changed - I'm only familiar with SmallScript since it was used for AMX plugins and now I wouldn't have a clue how to code the WCS plugin, but I might find out ;-) I recalled the times when I used to help in the development and all the fun we've had with the plugin.

I'm maintaining a friendly relationship with kenterfie and I've spoken to him about the plugin just yesterday.

So far I've had access only to the AMX plugin itself, since the master server used some kind of secure socket architecture and was top secret at the time.
Kenterfie agreed however to release the sources to our whole WC3.net system.

And now I've decided to release them to you. I'm really no expert at coding anything, but I'm a fast learner.

The system consists of three parts:

1. the master server
2. the AMX plugin communicating with the master server
3. the WC3.net plugin itself

Now - the whole thing might not be as useless as you might think. The master server and the secure socket plugin functioned independently of the WC3 plugin. It would be a matter of modifying the source code a bit to make them work with WCS. All you need is a server with Linux and MySQL on it...

One word in advance:

kenterfie used parts of a MySQL library and a string library by his own design found in HLSW. He had to remove the libraries from the package he sent me - HLSW is still being developed and closed source, so he can't hand them over to me.

Nevertheless these libraries can be replaced by standard libraries with some minor re-writing, again, I'm no expert and kenterfie is a talented programmer.

I'm sure SOMEBODY on these forums will know his way around C/C++ and maybe use kenterfie's work as a basis for including a similar system in WCS.

Imagine - all the WCS servers in the world united by one master server (of course there was a variable to disable the global XP system) - wouldn't that be great?

Well - enough talking, here comes the source code.

I know that not everything has been said, so feel free to ask me some questions about WC3.net and how it worked. Maybe someone could also point me to another developer community where I would have access to even more plugin-experts, so my chances of finding someone who could do the re-write would rise even further.
Attached Files
File Type: zip wc3net.zip (54.5 KB, 173 views)
File Type: rar wc3net_ms2.rar (679.3 KB, 169 views)
File Type: rar wc3netsocket_amxx1.rar (297.4 KB, 157 views)
Lim-Dul is offline
Lim-Dul
Junior Member
Join Date: Jan 2005
Old 03-17-2007 , 21:47   Re: WC3:TFT.NET plugin (sources kind of included!)
Reply With Quote #2

Oh - another post copied this time from the WC3:FT community forums. It includes answers to some questions that may arise:

http://wc3mods.net/forums/viewtopic.php?t=2640

Quote:
Pimpdaddy's Plugin, I believe he goes by the name Geesu now on these forums, used to be called WC3:TFT as in WarCraft 3: THE Frozen Throne. I think he could confirm this.

As to our plugin. This is another problem we've faced and another reason why the plugin had to be abandoned. I don't recall when, but from a certain point in time on everybody was required to release the source code of their plugins for AMXX (GPL and stuff).

We couldn't have done that for two reasons:

Our plugin was communicating over the secure socket plugin (another unreleased plugin) with the master server and ANY modifications some stupid people might have made to the code (e.g. giving themselves 1.000.000 XP for a kill) could have broken our whole system, since more than one server was sending and receiving data from the master server.

The master server code could not have been released because it included some custom libraries coded by kenterfie for HLSW. Even now, when I'm about to release the source code of the basic plugin, the secure socket plugin and the master server executable, I'm not allowed to include these 3 libraries - the functions will have to be replaced with other functions included in other libraries - I never said that these plugins wouldn't require some re-writing. =)

So the only place one could get our plugin was on the wc3.hlsw.org site and only in compiled form. This of course was another reason for the lack of popularity...

I suggest we discuss our little defunct plugin in another thread as I announced in my initial post. This topic should focus on my proposal to change the mole functionality. =)
Lim-Dul is offline
L. Duke
Veteran Member
Join Date: Apr 2005
Location: Walla Walla
Old 03-17-2007 , 21:58   Re: WC3:TFT.NET plugin (sources kind of included!)
Reply With Quote #3

I think you need to take this post to a different area. This part of the forums is for source games.
L. Duke is offline
Lim-Dul
Junior Member
Join Date: Jan 2005
Old 03-17-2007 , 22:01   Re: WC3:TFT.NET plugin (sources kind of included!)
Reply With Quote #4

Not really. Our plugin WAS for CS 1.6, but the master server and the socket plugin are kind of platform independent.

I'm not asking anyone to take a look from CS 1.6's point of view, but the possibility to make the plugin-socket plugin-master server architecture work with SourceMOD and HL2 in some distant future. =)

So to express myself more clearly:

I'm not interested in any future development of our little project for CS 1.6.

I'm just asking if anyone is interested in picking up the bits that are left up and make something interesting with them for future SourceMOD plugins.

I learned small script to help with the plugin development, but I am not up to the task of finding out how the socket plugin and the master server were working - I mean, I've never seen the sources up until now myself. ;-)

Had kenterfie included the mysterious HLSW-classes in the rars he gave me, the whole system would be fully functional as it is... It'd be a shame to waste something that may have been a good idea and may help someone in the future (ANY plugins that need a master-server/client architecture - like stat-counters for example - may use a modified version of our code) in some HL2 mods... The socket plugin just communicates with the master server and the master server reads/writes into a MySQL DB. It doesn't matter much what data would be forwarded, so it's useful not only for WC3 plugins...

Last edited by Lim-Dul; 03-17-2007 at 22:16.
Lim-Dul is offline
BAILOPAN
Join Date: Jan 2004
Old 03-17-2007 , 22:59   Re: WC3:TFT.NET plugin (sources kind of included!)
Reply With Quote #5

I'm not entirely sure why it would have been considered "top secret," since it looks like pretty simple code. I also wouldn't consider it very secure

I guess it's good that the code didn't stay bottled up forever, though.
__________________
egg
BAILOPAN is offline
Lim-Dul
Junior Member
Join Date: Jan 2005
Old 03-18-2007 , 08:46   Re: WC3:TFT.NET plugin (sources kind of included!)
Reply With Quote #6

Like I said in my post. If anyone would mess up the code, they could affect our central DB. You never know what ideas people might get, giving themselves 1.000.000XP or sth. for example.
Lim-Dul is offline
devicenull
Veteran Member
Join Date: Mar 2004
Location: CT
Old 03-18-2007 , 13:31   Re: WC3:TFT.NET plugin (sources kind of included!)
Reply With Quote #7

Quote:
Originally Posted by Lim-Dul View Post
Like I said in my post. If anyone would mess up the code, they could affect our central DB. You never know what ideas people might get, giving themselves 1.000.000XP or sth. for example.
Code:
void crypt(char *data, const char *key, int length)
{
	int size=strlen(key);
	int j=0;
	for(int i=0; i<length; i++)
	{
		data[i] = data[i] ^ key[j++];
		if(j==size) j=0;
	}
}
I looked over the server briefly, it seems like no escaping is done for any data recieved.. this combined with the fact your "secure" socket relies on XOR to protect the data basically ensures that SQL injection is fairly simple to do.
__________________
Various bits of semi-useful code in a bunch of languages: http://code.devicenull.org/
devicenull is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 22:07.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode