• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Miscellanous / Other] [Tech-Demo] MultiCraft (previously WarSoc)

Status
Not open for further replies.

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
I've attached an example map that uses the latest unreleased SharpCraft 4.0(included) and the Lidgren Network Library to simulate a network game.

It's an example of a map that through scripting simulates multiplayer and allows active joining/leaving and an arbitrary number of players. The demo uses a centralized server hosted on Digital Ocean, which means you all play in one map together.

The map isn't particularly interesting, and has no gameplay, as it is only a tech-demo. You should really try to get some more people to join in when you try it, perhaps through the chat. If you don't, it's just a map where you can move around. Whohoo...

It showcases the following features:
* Joining/Leaving an "already running" game.
* Chatting with other players.
* More than 12 players.
* NoTarget and Point orders (target orders is possible of course, just not implemented).

How to use it?!
* Download the attached file and extract it anywhere, in a folder.
* Copy the included "EmeraldGardens(MultiCraft)" map to your Maps folder.
* Start SharpCraft using the included "Start game windowed.bat".
* Locate the map and hit start.

Issues:
The map menu might show the map as having errors, but this is just a side effect and should be ignored. Hitting start will work just fine.
If it crashes on startup, you may need to unblock the zip before extracting the files. Do this by right-clicking the zip, open properties and then hit the unblock button bottom right.
Anything else, just hit me up here, and I'll try to help as much as I can. I've tried to foolproof the launcher, but as I've seen before, there are always fools even I can't imagine.

Why?
This is just to show it is possible through clever scripting/coding to do some interesting things. I hope SharpCraft 4.0 will reach a stable point soon, and people can use these examples to make silly things.

Server Status: Running!
 

Attachments

  • SharpCraft(MultiCraft).zip
    1.2 MB · Views: 155
Level 12
Joined
Mar 13, 2012
Messages
1,121
Hm, can you explain how this is related to WarCom? Basically exactly the same but made by you, right?

edit: I get this error message when starting "Start game windowed.bat" on Windows 7 64-bit. Note that I do not have installed wc3 normally, so the install path might not be set in the registry.
 
Last edited:

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
Hm, can you explain how this is related to WarCom? Basically exactly the same but made by you, right?
Exactly the the same yeah. This is just my way of showing how it's done. I'll be attaching the source code later.

edit: I get this error message when starting "Start game windowed.bat" on Windows 7 64-bit. Note that I do not have installed wc3 normally, so the install path might not be set in the registry.
That error is related to the issues I wrote in the original post. You need to unblock the zip before extract. If you don't, all binaries will be blocked by windows, and even if you hit allow when you launch, the plugin dlls are still blocked. If you notice in the error, it mentions something about a sandbox. This is actually Windows trying to protect you, but the nature of SharpCraft means it can't be sandboxed.

Hey this seems to be great. In the SharpCraft thread there is no real documentation. Where can I find an API documentation of this.
I'll try to get some documentation going and a tutorial on how to use SharpCraft.

Is it possible to synchronize everything only using JASS events?
It's possible to synchronize a lot of things, but for this to work, it'll require a lot more work. It likely wont be a "plug-n-play" system, since it'll need a custom damage system and custom abilities since everything will have to be synched and verified with a server to prevent desyncs and cheating.

The real question behind this is whether just the host needs third-party software, right?
Everyone will need this for it to work. Think of this as a total conversion.
 
Level 12
Joined
Mar 13, 2012
Messages
1,121
It likely wont be a "plug-n-play" system, since it'll need a custom damage system and custom abilities since everything will have to be synched and verified with a server to prevent desyncs and cheating.
Could you explain a bit more how this works? Why is the normal wc3 host not good enough when every player has the altered game.dll? e: Hm, I begin to understand, so everyone locally is player 1 and other players for everyone are player 2? Is this easier than trying to expand player limit? Eager to see some source code for this..

On another note, you might want to add a version number to the .zip. After some releases this will create problems else. Also "Launcher.exe" should have a more significant name.

^^
 

Attachments

  • Multicraft1.jpg
    Multicraft1.jpg
    745.9 KB · Views: 187
Last edited:
Level 4
Joined
May 26, 2010
Messages
47
is it restricted to hosting on a designated server or could it be played by hosting it on a host's PC?
 

MindWorX

Tool Moderator
Level 20
Joined
Aug 3, 2004
Messages
709
Could you explain a bit more how this works? Why is the normal wc3 host not good enough when every player has the altered game.dll? e: Hm, I begin to understand, so everyone locally is player 1 and other players for everyone are player 2? Is this easier than trying to expand player limit? Eager to see some source code for this..

On another note, you might want to add a version number to the .zip. After some releases this will create problems else. Also "Launcher.exe" should have a more significant name.

^^
Expanding the builtin player limit would be a difficult task, but what is the crux of the issue is the fact that I wouldn't know where to begin. It would require a lot of reversing, where as the approach I'm using now has a clear direction. And you're right, player 1 is the local player, player 2 is the other players. This could be expanded further, making player 3 enemies, player 4 npcs, player 5 admins, etc. Up to 16 "groups" essentially. With regards to the version number, the exe's and dll's all have a version. The .zip is just a collection with a demo, but I'll keep it in mind.

is it restricted to hosting on a designated server or could it be played by hosting it on a host's PC?
It could be hosted locally as well, that's how I've been testing it. The reason I use a dedicated server, is to avoid having my own hardware running, and to ensure 100% uptime while I do other things.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
Throwing what appears to be either an unsupported operation exception or a security exception on Windows 7 when loading the network dll. Attached below. This has to be one of the most insane exceptions I have ever seen an application throw as far as length goes.
 

Attachments

  • Exception.jpg
    Exception.jpg
    121.8 KB · Views: 164
Level 12
Joined
Mar 13, 2012
Messages
1,121
Dr Super Good seems you stepped in the same "idiot trap" I did. It's mentioned in the opening post. You have to unblock the .zip before extracting.

Quite unusual and also never heard of this before..
 
Status
Not open for further replies.
Top