Main
> News
> About
> Credits
Downloads
> Stable Builds
> Dev Builds
> Plugins
Tools
> Stats
> Compiler
> Bugs/Requests
> Cross-Reference
> Waterfall
Documentation
> Install/Usage
> Writing Plugins
> Script Functions
> Development
> C++ Reference
Community
> Forums
> Discord
Monthly Target: $400
Raised This Month: $408
Amount Needed: $0
Hall of Fame
|
Source Code Release |
Dec 25, 2004 07:11 |
As a Christmas present to the mod development community, I have decided to publically open the SourceMod source code.
You can view the public CVS repository by Clicking Here. Anonymous CVS is not planned yet.
While SourceMod will compile and run, it's not at the point where we'd like to release. The current code (about 8-10K lines) is considered a foundation framework for what we hoped to achieve irrelevant of the HL2SDK quality. This code is provided so developers can see inside the architecture we're developing.
A few notes on the source code. It's a decently complicated architecture and I won't attempt to explain it here. In a few days I will post an in-depth article about how SourceMod works, because once you get a feel for it, it's a very cool environment with huge potential for customization and embedding.
You will find a sample module in sourcemod/core/demos.
You will find the license in sourcemod/LICENSE.txt, which is very important. The intent of the license is to be like the GPL, except to restrict distribution to make forking impossible. It is our intent to move to a dual GPL/MPL license when SourceMod is released as a product... for now we don't want people running off before we've had a chance to release.
And an addendum:
One last-minute change we made was moving the actual configuration of SourceMod to an implementable plugin system. This means that, simply by swapping DLLs, you can use either an AMX Mod style setup or a web interface setup. Or you can develop your own method... this was to solve the problem that many game hosts will not allow a daemon running and not everyone has access to an Apache/MySQL setup. After all, SourceMod is all about massive customization.
Compiling:
Do not post compiled binaries on these forums, feel free to distribute them elsewhere. You will need Microsoft Visual C++ 7.1 (unless you convert the project files to 6.0), and NASM (Netwide Assembler), as some portions of SourceMod are written in assembly. SourceMod probably won't compile on linux yet, if it does, you will need gcc-3.4.1 and NASM/YASM.
Anyway, enjoy, and Merry Christmas :)
A special thanks to PM OnoTo for his dedication and SniperBeamer for keeping the forums safe and secure. |
.: by BAILOPAN |
Plugin Posting |
Dec 06, 2004 13:28 |
In order to assuage the hordes of people asking for some downloads, I've added an "HL2 Server Plugin" section to the forum so people can begin posting their works.
There's no requirements to posting other than you must provide a download and instructions (although giving source benefits the community).
So if you're eager for basic administration stuff, check out this section - people are already contributing server plugins for admin commands and weapon restriction.
Just a note - these are not "SourceMod" plugins, they are "Server Plugins", that run on Valve's built in Metamod mechanism.
--- More technical stuff ---
I am now proposing a solution to the "how do I make a vdf" file problem that will arise.
Anyone who makes a plugin should distribute a VDF file for their plugin, named after the plugin binary, with the plugin. For clarity, people should also name their plugins with "_sp", for "server plugin". This will help everyone. For example, if I make "myadmin_sp.dll", I should distribute a file called "myadmin_sp.vdf" that has this in it:
"Plugin"
{
"file" "myadmin_sp"
}
And then tell people to place that in addons. Hopefully this will reduce the surely upcoming confusion as more plugins are made.
And unless people want to adopt some other standard, I'll promote this one.
Frag on! |
.: by BAILOPAN |
Interview and Update |
Dec 04, 2004 19:15 |
First item of business, someone decided to inflict an interview with me on the public :)
Conducted by Soopa of Punk Ass Fraggers, you can read it by clicking right here.
It contains some decent information about our plans for SM and what we hope to achieve.
In other news, you'll notice there's now a Coding section on the forums. Over the next week or so I will be adding things like headers and tutorials that outline the design of the SourceMod development kit (for adding modules/plugins/scripting languages), so you may want to look there for progress updates. |
.: by BAILOPAN |
Source SDK Released! |
Dec 01, 2004 10:29 |
It has happened! The Half-Life 2: Source Software Development Kit has been released by Valve.
Although we won't have anything for you instantly, we will keep the community apprised with little things along the way, such as demos, sample plugins, and header code so people can start seeing how to mod for SourceMod.
The recent Scripting Language poll was a huge hit, and it was interesting to see what everyone thought of different languages. First, the news that will please everyone:
SourceMod will be a highly dynamic mod. So far, you can make C, AMX, or JavaScript plugins all at once simply by adding the appropriate DLLs. In the future, a Python addon may come too.
However, the "official" language will be JavaScript. Small/AMX has far too many limitations, and the code base is not only messy but decently buggy. AMX Mod X spent a great deal of time improving it with a 64-bit port and a debugger, but it's time to let Small die in the gaming world. Nonetheless, you will still be able to write Small plugins.
The prospect of being able to do things like:
var name = player.name()
Instead of:
new name[24]
get_user_name(id, name, 23)
Should be appealing to people. Again, more information will be available as we get things done. |
.: by BAILOPAN |
What Scripting Language? |
Nov 18, 2004 19:52 |
What Scripting Language would you like to see for SourceMod?
With MetaEng, it will be possible to add more than one run-time scripting language at a time, however, we're going to keep the default at C/C++ and one other language.
We've reviewed some embeddable languages and want to know what you think. Right now we're leaning toward the SpiderMonkey JavaScript engine, which would let you have typeless coding like Small - except with real strings and object oriented support. However, I'd like to see what the community thinks. So vote!
A note on MetaEng - I've pretty must finished the API I had planned for basic scripting support and will post a notice about it soon so people interested can see. |
.: by BAILOPAN |
|