HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

How to send and recieve data via battle.net

09-02-2003, 06:38 PM#1
Brugsy
-----------------------------------------
Send and Recieve Data via b.net Report.
-----------------------------------------


Date: 09-01-2003
Version: 1.0
Author: Brugs


Glossary
----------------------------------------------------------------------------------

1. Theory & Introduction
2. Requirements
3. Security
4. Development Process
5. Programming & Triggers
6. FAQ
7. Unanswered Questions
8. Feedback, Conclusion & Contact Info



1. Theory & Introduction
----------------------------------------------------------------------------------

How to send and recieve data from the battle.net.

My vision has always been to share my ideas with people. Now when I have this great
opportunity, and give this gift for the Warcraft 3 community. Bringing this new
feature to Warcraft 3, and bring it to the next stage of possibilities. But this
will not be possible with out your help, because to evolutionary such a big task
will require alot of work, and development. This document is about to help you start
an online server on the battle.net, it also explain you detailed what it require
to complete this task.



2. Requirements
----------------------------------------------------------------------------------

- Server that run Warcraft 3 on the battle.net 24/7/365.

- Fast Internet Connection with low latency. (ADSL)

- UMSWE 3.8 Add-in to the Worldeditor. (Map Development)

*Fast computer will increase overall performance.



3. Security
----------------------------------------------------------------------------------

Solution:

- To protect and secure all the data, the data must be encrypted to not
common or readable language. The "password" solution will not work,
neither (hex codes or binary)* since they will be crackable.

- Need to compare saved and recieved data stream between the client and
Server. Checksums might also be a requirement.

- The map must not be able to get edited or manipulated. Only by the
Host/Server (Owner) should be able to edit the map.

*In some cases.



4. Development Process
----------------------------------------------------------------------------------

First make and design your map, after that you can start to implement this feature.
Then you will need a server that can be constantly online on battle.net. The
Client / Server trick is now to get the new player account created on the battle.net.

This will be done with sending private messages to the server.
Example /w b.netServerName Create Accountname Password Email. The server then verify
you and add you to the user list and safe your data. You then choice a hero which you
would like to play. After that, data can be parsed between the Client (player) and the
Server with "Action: Game - Force UI Key" You can force the keyboard type keystrokes.
The client will then automatically sends a private message to the server with this trigger.
I advice that you encrypt your data for best security to unreadable language.

You send information such as Health & Mana, Possition, Items, Stats and Objects around you.
So the server always knows where people are and who is online. The Server can constantly
keep track of everything. The Server will then send you messages back to you where you
will recieve information about objects around you. The map then generate
all the objects around you from the parsed server code you just got.

With the "Event: Player - Chat Message" you can track and convert the data you recived from the
Server and generate objects around you.

Also with the "Event: Player - Advanced Event - Sends a Message" You can be syncronized
with the server constant so you always have the same data stream.

This basically explain how this is possible. It is a complex task to get all this
working. But it is a workaround for now.



5. Programming & Triggers
----------------------------------------------------------------------------------

- Event: Player - Advanced Event - Sends a Message

This trigger is starting when the player sends a message.

- Event: Player - Chat Message

This trigger is starting when the player recieve a message.

- Action: Game - Force UI Key

You can force a keyboard event to fire a specific button.

(Need Examples)



6. Frequently Asked Questions (FAQ)
----------------------------------------------------------------------------------

Q: What is this about ?

A: This is about to be able to "save games" on the battle.net, so you can continue
playing the game where you left last time. This opens perspective for new
types of games, with huge amount of people online on the same map.


Q: What is the purpose of this ?

A: The purpose is to increase the gaming experience of warcraft 3 and break some of
the bounderies.


Q: What if my Warcraft/Computer crash or I get disconnected from the server.

A: This will most likely not be a problem, because the server will be saving information
constantly.



7. Unanswered Questions (Need help by people)
----------------------------------------------------------------------------------

- Private messages showing up on the screen constantly.

- Can Neutral AI Player be used as dummy to send and recieve messages.

- How to get the Server to save data permenent and how to take backups.

- How to recover a Server after server has been offline and recover data.

- More to come...



8. Feedback, Conclusion & Contact Info
----------------------------------------------------------------------------------

Conclusion: Coming soon...


Feedback:

- This document will be updated constantly.

- Please post any grammatical or technical errors.

- Please post any changes, ideas or feedback.


Contact Info:

Mail: [email protected]

Credits: Brugs

Special Thanks & Inspired by:
Warcraft 3 Campaign forums, Dakan, FyreDaug, TheZaCrew.



----------------------------------------------------------------------------------


Written by Brugs ©2003
09-02-2003, 07:36 PM#2
BoZo
Works great in THEORY, but Im not so sure if this would actually work... But I support you and think that you should (or someone else) would try to do this.
09-02-2003, 09:03 PM#3
MarSara
As most people know (or should know), I am already working on a program that will allow you to "save" and "load" data off of a server. And with the core code of this program, all it does is send a password to WarCraft III, where then the game can read it. Although it was originally ment for Hero saving, theoridcaly (sp?) it can be easily changed to just read a single password and send that to WarCraft III. And that password can contain data on anything that can be affected by a variable. Including the icon of a quest menu to the location of a creep and his health and mana.

Although I will not release any version of this unitl Xmas (current release date of DarkCrescent Mod), but after I will release two different versions, one that is ment for just hero saving and now another that will just save any password. The only requirments will be that you add a few triggers, for reading/saving the data (will be included with release) and that you have a FTP that you can upload files to.
09-03-2003, 10:41 AM#4
BlacKDicK
Are you sure we can use Action: Game - Force UI Key to send whisper commands? I mean, to send whispers we first need to press ENTER.