[Released] SlimNet 0.2 Beta

SlimNet 0.2 Beta

SlimNet is a networking middle ware for Unity

After many delays I’ve finally managed to get everything ready and pack SlimNet up for it’s 0.2 release. This release contains a few note-worthy improvements.

  • The core engine is now event-driven instead of stream-driven. This makes for an easier to use model and lower band-width usage.
  • Support for statically typed RPCs
  • A major simplification of the core engine, both from a usability and technical perspective.

You could consider 0.2 a re-write over the previous released 0.1.x series, but it’s not really true as the engine has not really been re-written - just reworked and improved a lot. Many of the features I have shown demos of on this forum are not yet in the engine, I decided to cut them short to be able to bring the code to you so you can test it and give me feedback.

The features scheduled for the next release, 0.2.1 are as follows:

  • Stand alone server physics
  • Server integrated mode inside unity
  • Linux / OSX server support

Feedback Bug Reports

If you want to leave feedback or bug-reports on SlimNet 0.2, please do so in this thread. If you want or need immediate help you can usually find me in #unity3d @ irc.freenode.net under the same nick as on this forum.

Setup Instructions

License

/*
 * SlimNet - Networking Middleware For Games
 * Copyright (C) 2011-2012 Fredrik Holmström
 * 
 * This software is provided 'as-is', without any express or implied
 * warranty. In no event will the authors be held liable for any damages
 * arising from the use of this software. 
 * 
 * Attribution
 * The origin of this software must not be misrepresented; you must not
 * claim that you wrote the original software. For any works using this 
 * software, reasonable acknowledgment is required.
 * 
 * Noncommercial
 * You may not use this software for commercial purposes.
 * 
 * Distribution
 * You are free to share, copy and distribute the software in it's original, 
 * unmodified form. You are not allowed to distribute or make publicly 
 * available the software itself or it's sources in any modified manner. 
 * This notice may not be removed or altered from any source distribution.
 */

Download Links

Old Releases

Hey gj on the release, glad you got everything working.

I looked into your server and can’t find any room class. Did you removed it completly? So now it would need multiple Server instances running on different ports? Correct me if I’m wrong.

Correct, the rooms-support has been removed due the planned unity integrated support which will allow the server to run inside of unity, and there really is no good solution to running several rooms inside the same unity instance.

I am working on a “rooms” manager (sort of like the master server for unity, but a bit more advanced) which can control and spin/up down server instances in the background.

Hmm okay makes it kinda hard for a moba game. As the instances part was allready the point that scared me away from Ulink.
Maybe I’ll find a solution to that with my own extension.

Edit: Oh and before I forget :smile: its cool stuff for RPG/MMORPG check it out guys. Best solution so far.

I don’t see how this would make it hard for a MOBA game, if i was to make a MOBA (which I am) I would want all the game instances in separate processes due to stability (i.e. if one crashes all other games don’t crash).

Yes agree with that. But it would need like an Instance manager.
Connect the user from the “master client” to subserver listing subservers on mainserver. Am I right?

Cant find the scene for unity client MMOControler example.

It’s in the Demo/Scenes/DemoScene.unity file inside the Unity Project.

oh really :), thx.

I think I managed to crack the Linux/OSX problems, need to do some serious clean up of the implementation, but here’s a screenshot of SlimNet running inside Ubuntu 11.10:

thanks for the share,i downloaded and try this,with vs2010 express,got this error when compiled,

how to fix this?

You need to run visual studio with administration privileges.

thansk,i tried, the same error,i just noticed there is a path setting,like “c:\slimnet”,i don’t put my project there,is this the problem?
or where i can config the new copy path? i have to put slimnet in “c:\slimnet.…”?

Yes, it should be put in C:\SlimNet2 currently, check the instructions video for more details.

This looks awesome.

Obviously it’s not very authoritative yet, but is full game simulation planned on the server? I’m looking at multiplayer FPS interactions, and they kinda need to have everything done on the server.

It is full authorative games possible. Just the example is it maybe not (Didnt checked it out that much). Full game simulation is allready possible as you can run the server as Unity project, only the example is a standalone. Watch fholms youtube account for more information.

Need more deets! So is the server a Unity instance now from the looks of it?

The server is very capable of doing authoritative games, including control over position, movement, etc. Exactly what you will need to implement yourself is something that depends fairly much on the game you’re building.

Both yes and no, the server can be ran both as a stand-alone application and inside a unity instance (either using headless mode for dedicated servers or inside one client acting as the server).

A small update (0.2.0.1), a manual and introduction videos will follow.

Interesting. I will definitely give it a shot once the manual is done.

…Hey, I’m not Zhosay! Haha.

PS: I assume the license is as such because of the in-development, beta status right?

Yes, correct! If you need a more permissive license contact me over PM.

I also fixed the quote, something got messed up