A6Network - Open Alpha Test

Posted By: TWO

A6Network - Open Alpha Test - 02/23/07 11:36

A6Network
Die hier angebotene DLL basiert auf RakNet, einem Open-Source Netzwerk System für Anwendungen aller Art. Sie ersetzt die DirectPlay Netzwerk Funktionen der A6 komplett.

Vorteile:

  • Die RakNet Network Engine auf die mein Plugin aufbaut ist Battle-Driven, soll heißen sie hat sich schon erfolgreich in kommerziellen Spielen bewiesen
  • Das Interface ist klar von dem der Engine abgetrennt
  • Es sind verschiedene wirkungsvolle Mechanismen gegen Cheater verfügbar, um zb die Anmeldung "bombensicher" zu verschlüsseln
  • Desweiteren sind exotische Features möglich, zb. Auto-Updating oder VoiceOverIP
  • Anderes Multiplayer Entity Managerment



Open Alpha
Ich bitte um Verbesserungs sowie Korrekturvorschläge aller Art. Postet bitte mit [A6N] vor jedem Thread!


Aber jetzt (~400 KB / Version Beta 1):
http://www.bloodline.eu.tc/A6/A6Network.zip
http://www.bloodline.eu.tc/A6/A6Network.rar

Und dann: Doc.html lesen!


Die DLL wird frei verfügbar sein, entgegen meinen eigendlichen Plänen.

Viel Spass,
Bloodline
Posted By: Puppeteer

Re: A6Network - Open Alpha Test - 02/23/07 11:42

Sieht gut aus!
Kommt mir sehr gelegen
Hast du schon den Speed getestet?
Man könnte damit mal experimentieren... Wäre zumindest interessant!
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/23/07 11:55

Nein, da ich hab keine Zeit zu testen, obwohl ich grade krank bin und zuhause rumgammel WorldAwake geht vor.

Was die Geschwindigkeit von RakNet angeht, um es mit den Worten von Rakkar, dem Entwickler zu sagen:
Code:

# High performance
On a Athlon 3000, with the included loopback test, RakNet was able to sustain
25,000 messages per second between three instances of the test application on
the same computer. Message overhead ranges from 1 to 4 bytes per message,
depending on features used.



Das ist ungefähr 3-4 mal so viel wie DirectPlay unter gleichen Bedingungen schaft. Dazu kommt noch, das bei dem Test keine Tricks wie kompession etc. verwendet wurden. Was Internet angegt, ist RakNet wie gesagt Battle-Driven und dürfte DP total ausnocken.

Homepage des Entwicklers(Englisch): http://www.rakkarsoft.com
Posted By: Excessus

Re: A6Network - Open Alpha Test - 02/23/07 12:11

That's funny, I've been working on a raknet plugin for gamestudio aswell.

Some questions:
Is this meant as a drop-in replacement of the a6 functions?

Do you use the rakPeerInterface, or the rakClient & rakServer interfaces? Because rakClient and rakServer are deprecated.

Do you intend to support the bitstream functionality of raknet?

I'm assuming the GetPlayerID functions return the PlayerID from raknet. This struct is 6 bytes, so I don't think it can be returned as a var, won't this give problems?

Will the source code be available?
Posted By: Puppeteer

Re: A6Network - Open Alpha Test - 02/23/07 12:18

Dass ist also schneller?!
Super Danke....
Mach dass bloss fertig!
Probiers gleich mal aus

Grüße
Omega
Posted By: Puppeteer

Re: A6Network - Open Alpha Test - 02/23/07 12:22

Nochmal ne Frage:
Kann man als server auch Spielen?
Und:
Weleche Entity informationen werden gesendet?
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/23/07 12:24

1) It's meant to replace all the A6 functions, so yes if I got you right

2) Hmm, yes I use the factorys for server & client, because I tried with the peers and saw nothing I couldn't do with this method aswell

3) Do you mean that the A6 user can use this to write >1 var into a bitstream and then send it? no, the average user won't need it, but when I will be finished with the autopatcher I'll implement this, thanks

4) Thanks, I didn't test this thing much, right now it hasn't much funtionality, again thanks. I'm fixing it, storing the strucs in an linked list and just returning the ID in the list.

BTW sorry for no english documentation, I would be very grateful if someone translates it

----------------------------------------------------------------------------
@derOmage

Im grunde sind Client und Server die selben Exen, jede führt bloß einen anderen Code aus. Es ist als möglich auch auf dem Server zu spielen.

Du soltest die Documentaion lesen (Doc.html) Es wird grundsätzlich garnichts gesandet (Auser die Low-Level Sachen), also keine Ents, Vars etc. Um ein Entity zu benutzen musst du es regestrieren und dann senden, wobei du beim senden verschiedene Flags benutzen kannst die angeben was gesendet wird.
Posted By: Puppeteer

Re: A6Network - Open Alpha Test - 02/23/07 12:27

2 und 3 hab ich nicht ganz verstanden
Posted By: Carloos

Re: A6Network - Open Alpha Test - 02/23/07 14:14

I just want to say DANKE for you, Bloodline, for this plugin. I will try to test it as soon as possible, I was looking for some Raknet thing for A6 for a long time.

Danke, obrigado, thankyou.
Posted By: Germanunkol

Re: A6Network - Open Alpha Test - 02/23/07 14:26

I think i could translate it, give me some time though.
(if you want me to, that is)

This is great!
Network stuff's always welcome. So the server cannot play as well?


dllfunction Net_ClConnect( IP, Port ); // STRING IP | var Port Index

Tut: Versucht eine Verbindung mit den angegeben Daten zu Server herzustellen
Pas: IP in Form eines Strings (Mit den 4 Punkten) und ein Port in Form einer Variable
Ret:
Bsp: Net_ClConnect( "127.0.0.2", 60000 );



mit 3 punkten, nicht mit 4
Nicht so wichtig, is mir nur aufgefallen.

Ein verbesserungs/erweiterungs vorschlag: Was mir an populace sehr gefällt ist wie sie strings verschicken. Ich weis nicht wie viel arbeit das ist, oder ob das möglich ist, aber könnte "Net_ClSendString( StringName );" eine bestimmte function in der empfangenden spiel instanz auslößen?

So kann man, wenn zB eine chat message geschickt wird auf dem server die funktion "receive_chat" aufrufen, oder irgendeine andere, wie man eben will, jeh nachdem wie der client die message geschickt hat.

Noch eine letzte frage: vielleicht hab ich es überlesen... aber gibt es ein limit, wie viele spieler verbinden können??

Super, dass ingame verbunden wird. Großes lob dafür, und natürlich auch für den rest

Danke für die dlls! das ist great stuff

Micha

P.S. and let me know if you want me to translate it... i'll be able to start tomorrow, I believe...
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/23/07 16:22

1) Ja 3 Punkte, ich bin nicht so gut in Mathe, aber dafür in Ethik Ist korregiert

2) Ja sicher, du kannst das aber auch einfach selbst bauen. Net_ClProcessPackets(); gibt nämlich Net_CID_A6_STRING zurück wenn ein String empfangen wurde. Dann kannst du damit eine Funktion aufrufen und ihr den String zuschicken

3) Nein, kein Limit. Du kannst die Zahl bei Net_SvRun( MaxPlayers,...); also sohoch machn wie du willst

4) Der server kann mitspielen

5) Jap, währe super wenn dus übersetzen könntest; das manual das bei dieser Alpha dabei liegt ist allerdings noch voller Fehler, also warte lieber noch bis zur nächsten Version

Noch eine Frage die irgendjemand mal irgendwo gestellt hat: Gibbet Sourcecode?
Nein, noch nicht. Aber irgendwann sicher
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/23/07 16:50

Ach jetzt fällt mir auf, meintest du mit der String Funktion dass ich den String übergebe der geändert wurde?
Posted By: ulf

Re: A6Network - Open Alpha Test - 02/23/07 17:35

super bloodline! hab leider grad garkeine zeit zum testen, bleib am ball damit, wäre super.
Posted By: Germanunkol

Re: A6Network - Open Alpha Test - 02/23/07 21:38

Uhm... ich weis nicht ob du populace schon mal benutzt hast.
Da gibt es diese funktion:
dllfunction MP_SendChatMessage(msgStr, callbackFuncStr, playerId, teamId);

Und die ist imens praktisch. msgstring ist einfach der string. callbackFuncStr ist ein string, der der name einer funktion ist. diese funktion wird auf dem empfangenden clienten/server ausgeführt, und ihr wird der string als parameter gegeben:

Code:


string message_to_send = "Hello Wo... NO!";

function string_receive(the_string)
{
scroll_message(the_string);
}

MP_SendChatMessage(message_to_send,"string_receive", MP_ALL_PLAYERS, 0);




when the function MP_SendChatMessage is executed on any client or the server, it will send the message to all other computers and it will start the function "string_receive" there, and pass the sent string to it...


Ich hab mal angefangen es zu übersetzen, kann aber gerne auch warten bis die fertige version draußen ist. Geht beides^^... Sooo viele veränderungen wirst du doch wohl nicht mehr vornehmen, oder? Dann kann ich es jetzt übersetzen und später updaten.. oder hast du vor die ganze doc neu zu schreiben?
Naja, lass es mich wissen, mir ist beides recht

Micha
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/23/07 21:51

Also ich hab grade Beta 1 hochgeladen mit einer Ban Funktion und mehr Manual fürs Geld.

Du solltest warten, dauert nimmer lang bis zur Final

Ja, das mit der Chat Funktion sollte sich machen lassen, morgen implementier ich das Ding.

Gute Nacht,
Bloodline
Posted By: Puppeteer

Re: A6Network - Open Alpha Test - 02/23/07 22:09

Dein ding ist ne gute Sache!
Wie siehts denn mit teilen von Arrays aus?
Also sende bla[2000] ????
mein Spiel nutzt nähmich Giga Bibliotheken für AI berechnungen Pointer, einige zusatz Skills...........
Wäre nicht schlecht wenn man nicht dass ganze array senden muss
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/24/07 02:15

Hey this might just be what I needed. Thank you Bloodline i'll give it a try
Posted By: Germanunkol

Re: A6Network - Open Alpha Test - 02/24/07 07:30

Der Omega... 2000 array elemente?? Für AI??

AI musste bei mir bis jetzt immer nur auf einem PC ausgerechnet werden.. wieso auf mehreren?
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/24/07 10:14

Hmm, right now, if you send a var or an array, just the first number, the .x value is send; But how to send arrays... ok, I'm woking on this, stay tuned
Posted By: Puppeteer

Re: A6Network - Open Alpha Test - 02/24/07 10:33

@ Germanunkol:
Also:
was ein NPC bei mir braucht:
6000+23+20000 vars fürs pathfinding
mehr als 400 für Skills und tempberechnungen
300 Pointer vars
und noch viele andere für ein Neuronales Netz und mehr AI zeug...

Ich lasse in nem Multiplayergame (die Map umfasst ganz Rumänien und hat auch ensprechent viele Bots) die Rechenleistung auch auf die Clients übertragen, jeweils für den Mapteil in dem sie sich befinden und geben nur wenn sich ein anderer Player nähert oder ein Client die Infos haben will, die Positionen und Anis und so weiter, ich arbeite nur mit ent_create_local
Posted By: Germanunkol

Re: A6Network - Open Alpha Test - 02/24/07 11:11

Das ist sehr intelligent... dass du rechenarbeit übergibst, sehr gute idee.
Trozdem... 6000+23+20000 vars sind a wengl viel
400 skills ebenso... was stellst du denn mit der armen RAM an?
Klar, nodes und so verbrauchen ne ganze menge platz. Aber so viel zeugs??
Gut, dass du ganz rumänien n bissel aufteilst
Ach ... ja, apropos ent_create...

Bloodline, gibt diese network engine ein lag wenn man eine mutliplayer entity registriert? Wäre interessant zu wissen, das ist nämlich leider noch ein problem bei populace... das bedeutet bei populace sollte man alle ents vor spielstart erstellen oder so...
Es ist schön wie diese engine weiterläuft wärend man verbindet. Das hab ich doch richtig verstanden, oder?
So kann man irgend was anzeigen wärend es verbindet, zum beispiel ne "lade" animation, oder so... und man kann abbrechen...?

Micha
Posted By: Puppeteer

Re: A6Network - Open Alpha Test - 02/24/07 11:16

also die 20000 sind alle gesetzten Punkte (kann sein dass es Später weniger wird ca. 1/4 oder so)
Und die 6000 sind der Optimierte Pfad steht für 1000 Punkte ist ein bischen viel aber ich werde erst mal Testen wie viel im härtefall gebraucht wird
Die 400 Skills werden vielleicht noch mehr da für mein Spiel so unendlich viele Kämpferrische Möglichkeiten geplant sind....
Aber dazu komme ich später mal, wenns so weit ist....

Omega
Posted By: HPW

Re: A6Network - Open Alpha Test - 02/24/07 11:46

Hmmm, irgendwie öffnet sich die A6Network.dll nicht beim laden der Engine. Hab die beiden DLLs in meinem Acknex_Plugins Ordner. Alle anderen DLLs die ich dort drinnen habe werden korrekt beim start geöffnet.
Für welche A6 Version wurde A6Network.dll erstellt? Ich benutze die A6.506.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/24/07 11:53

Neue Version oben:

-Mit der Chat Funktion
-gefixten Client Funktions Paramtern (Vorsicht bei den Var/String/Entity/Array3 Sendefuntkionen!!)
-Bugfix hier und da
-Man kann im Demoscript jetzt chatten, mit hilfe der Net_ChatMsg Funktion realesiert

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

1) Kein Lag, währendessen können sogar weitere Packete verarbeitet werden; Allerdings sollte es übers net ein paar ms dauern bis das Entity da ist

2) Versuch mal die DLL in dein Exe Verzeichnis zu tun und im Script 'plugindir="."' anzugeben | Ich verwende Version 6.50

3) Mir fällt jetzt keine Methode ein einen String zu senden, ich frag mal rum
Posted By: HPW

Re: A6Network - Open Alpha Test - 02/24/07 12:00

Du meinst so wie in deinem Beispiel? Das klappt auch nicht. Dein Beispiel startet auch ohne dass die A6Network.dll sich öffnet und daher kommt sobald ich versuche den Client oder Server zu starten die Meldung das die Funktionen nicht in einer DLL zu finden sind.

[EDIT] Wenn ich das ganze publishe, dann wird zwar auch die DLL nicht als geöffnet angezeigt, aber dann klappen die Funktionen. *confused*

Übrings hast du Server_Input zwei mal definiert, einmal als String und einmal als Text.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/24/07 12:11

Lol, das mit dem String hab ich auch gemerkt, lad das Paket nochmal runter, da is nochmehr gefixt. Was dein DLL Problem angeht, einer meiner Closed Alpha Tester hatte das selbe Problem. Bis jetzt hab ich es nochnicht gefixt;

Edit: Ist die RakNet.dll im selben Verzeichnis wie die A6N.dll? bzw im selben Verzeichnis wie das Projekt?
Posted By: HPW

Re: A6Network - Open Alpha Test - 02/24/07 12:26

1. Also die RakNet.dll ist im gleichen Verzeichnis wie die A6Network.dll. Und ich habe es getestet indem ich einmal beide im Projektverzeichnis gelassen hatte mit plugins_dis = "."; und dann auch getestet ohne plugins_dir und die DLLs in meinem Acknex_Plugins Verzeichnis.

2. Die Ports die ich bei meiner Firewall freigeben muss, sind das UDP oder TCP Ports?
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/24/07 12:35

Die Verbindungen sind alle UDP

Bei der Demo währen es die Ports 60000-60008 afaik
Posted By: HPW

Re: A6Network - Open Alpha Test - 02/24/07 12:45

Ok, dann klappen anscheinend selbst bei der publishten Version die DLL-Funktionen nicht (kommt halt nur keine Warnung). Wenn ich einen Text schreibe und Enter drücke kommt der beim Gegenüber nicht an und danach kann ich aquch keinen weiteren Text mehr eingeben. Ist übrigens egal ob ich den Text beim Server oder Client eingebe.

Beim Server steht:
Run Server...
Server running.

Beim Client steht:
Run Client...

Sollte beim Client nicht auch sowas wie Client running kommen?
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/24/07 14:04

Neue Version oben (Beta 3):

-Arrays senden
-Eine Blacklist für ankommende Vars/Arrays/Strings
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/25/07 01:55

Thanks for the update Bloodline i'm going to replace the plugins and keep eye on this topic Oh and tried the chat function, but had to add something to type more than once.

Code:
String Client_UserInput ="#100";

Only if you type something new, every line becomes that string. Have to try little more maybe I get it to work.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/25/07 09:44

Ok, I've got a big problem connecting more then 1 client. On fixing...
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/25/07 10:35

Now I tried A6N on my laptop and downloaded the latest from your link, but it gives error when I run the script and select either (S)erver or (C)lient. Malfunction: W1523 (Net_SvSetup not found in DLL)

Edit: Maybe its due to my laptop because the dll that works on another computer isnt working on my laptop.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/25/07 11:51

Oh hell, the count of users who can't load the DLL raised again. That's not good

Please tell me some specs of your pc (eg. OS, Any software from mircosoft)

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

Neue Version / New Version: 0.6

-Lite-C unterstützung / Lite-C support
- Net_ClConntect gibt 1 zurück wenn verbunden, 0 wenn nicht / NetClConnect returns 1 if connected, zero if not
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/25/07 12:00

The PC specs: (A6N DLL working)

Pentium Dual Core 2,6GHz
1 GB Memory
Geforce 6600 256MB
Windows XP Home SP2
DirectX 9.0c
GameStudio A6.50.6 Commercial

The laptop specs: (A6N DLL not working)

HP Pavilion ZE5500EA
Mobile Intel Pentium4 2,6GHz
512 MB Memory
Radeon IGP 345M
Windows XP Home SP2
DirectX 9.0c
GameStudio A6.50.6 Commercial
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/25/07 12:11

It's important if, and what software from M$ you have installed. And do you automatic updated both pcs?
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/25/07 12:16

Yes both my computer and laptop are fully updated with all current updates from Microsoft. Also the following Microsoft software are present on the laptop:

Office 2003 Word Viewer (removed for test, but not helped)

Microsoft compression Client Pack 1.0 for windows
Microsoft user-mode driver Framework Feature Pack 1.0

.NET Framework 1.1
.NET Framework 2.0
.NET Framework 3.0
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/25/07 12:17

Yes, so you have no compiler or office or hastnichgesehn on your pc? hmm, strange... I could swear that this is a micosoft related problem.
Posted By: HPW

Re: A6Network - Open Alpha Test - 02/25/07 12:44

Pentium D 3.4 GHz
2 GB RAM
GeForce 7900 GS
Windows XP Pro (aktuellste Updates)
.NET Framework 2.0 und 3.0
DirectX 9.0c
3D Gamestudio 6.50.6 Pro
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/25/07 17:50

Someonce had any success with the plugin? Like connecting more then 1 client, or a working chat? I need some feedback what's broken and what's workin.
Posted By: khanoftruth

Re: A6Network - Open Alpha Test - 02/25/07 22:42

Can someone explain - in english - what this does.
Posted By: Damocles

Re: A6Network - Open Alpha Test - 02/26/07 01:18

Ist denn das Net Framework zwingend notwendig?
Vielleicht ist das ein Grund.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 05:18

No, you don't need .NET at all. I thought about the runtimes.

khanoftruth, even if I explained you that this is a multiplayer plugin replacing the old A6 MP system, you won't be able to use it right now because the manual isn't translatet to english, sorry.
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/26/07 06:12

Bloodline:

Only 1 client is able to connect to the server, new clients are not shown (in the server display). Maybe they did connect, but not updated somehow? Anyway the DLL only works on another computer, which has btw VC++ 2005 with SP1 installed. Also the .NET Framework SDK, Windows Platform SDK and DirectX SDK are present on that system.

Ok. Now with the project compiled to executable. Copied both A6Network and Racknet dll in the directory and ran it on these systems:


Pentium Dual Core 2,6GHz
1 GB Memory
Geforce 6600 256MB
Windows XP Home SP2
DirectX 9.0c
GameStudio A6.50.6 Commercial

Working. I select Server and run another then select Client. This first client is updated inside the Server window. Chat 'works' and first client connect/disconnect msg is displayed in the server window. When I try to run second client it says connected, but this message isn't displayed in the server window nor in the first client window. Chat input from the second client is not visible and second client can't see message between the server and first client.


Intel Celeron 2,4GHz
512 MB
Radeon 9250 256MB
DirectX 9.0c
Windows XP Home SP2

No error. I can press Server or Client and it says connected. However nothing really happens. If I press Server and run another and select Client, the client isn't updated in the server window.


HP Pavilion ZE5500EA (laptop)
Mobile Intel Pentium4 2,6GHz
512 MB Memory
Radeon IGP 345M
Windows XP Home SP2
DirectX 9.0c
GameStudio A6.50.6 Commercial

No error. I can press Server or Client and it says connected. However nothing really happens. If I press Server and run another and select Client, the client isn't updated in the server window.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 14:05

Ok, I'm working Could someone try to use one PC as server & client + another PC as second client? I'm pretty sure the 1 client limitation comes from the static client port

BTW I wiped out many bugs in the chat function.
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/26/07 14:57

Just tried running the 1 Server and 1 Client with the compiled project on my pc. In the wdl source i've changed the ip address 127.0.0.1 to 192.168.0.11 (the internal ip address of this pc) and inside the router mapped port 60001 (udp) to this computer. The Server and Client on 192.168.0.11 are running (cpu@100%) and chat is 'working' I can see the client connect and chat messages in the server window.

From my laptop I run the same compiled project and select Client. the message connected is visible on the laptop. However, the message is not visible on the server nor the first client on the other computer.

I don't understand why I do not get any error message about the dll now that i'm running the compiled executable on my laptop. The program isn't working it says connected, but it actualy is doing nothing or so it seems. When I try to run the wdl source from SED on the laptop I get the error message about function not found in dll again.

Note: when I have two instances of the compiled executable running; One as server and another as client. The cpu is constant 100%, 50% for each instance.

What does Net_SvRun( 32, 60001 ); in A6Net_Server.wdl do? Edit -> Oh I see, it means max. 32 players
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 15:35

Yes, it does; Sorry for the german manual

Hmm, download the new one. Yet the client will tell you if it can't connect to the server. Litte bug on my side, sorry.
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/26/07 15:37

Ok i'll try the new dll. Don't mind the german manual can read german without problem

Tried the update. When I run from SED with 127.0.0.1 and select Server then run another instance and select Client all goes well. Until I type chat message a crash in Net_SvProcessPackets: MsgPlace+=1 occured. The client is shown in the server window.

Strange thing is when I change the ip from 127.0.0.1 to my internal ip 192.168.0.11 of the computer, the client can't connect to the server.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 15:51

Lol, so shame on you, I wrote this doc a whole day, so USE IT

Edit: Indeed, sometimes he doesn't like the addition <(^^,)> crazy engine
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/26/07 15:58

Hmm ok. 127.0.0.1 == localhost and the same on all computers. So this will give problem to people who want to try run it over LAN? I tried it with my external ip address from my internet provider that did worked.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 16:04

Running on lan will be easy. Right now, you have to click on the litte PC in the left down corner, then networksupport, thers your IP written.

Later I will implement a broadcast, so all IPs on lan will asked if they are your game.
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/26/07 16:18

When I try to run A6Net_Test.wdl on the computer with ip 192.168.0.11 and not change the ip inside A6Net_Client.wdl I can start the server and the client on this computer and see the connect client, done and connected + chat messages in the server window. Crash occurs though after typing something. Also if I try (on the same system as server) to let second client connect to the server it can't find the server.

When I run the server on the computer with ip 192.168.0.11 and not change the ip inside A6Net_Client.wdl and try to connect from my laptop as client I get the bye bye not worked message because the server could not be found.

When I run the server on the computer with ip 192.168.0.11 and change the ip inside A6Net_Client.wdl to 192.168.0.11 and also have port 60001 mapped to 192.168.0.11 and then try to connect from the laptop as client I also get the bye bye not worked message because the server could not be found.

When I run the server on the computer with ip 192.168.0.11 and change the ip inside A6Net_Client.wdl to my internet provider ip address and also have port 60001 mapped to 192.168.0.11 and then try to connect from the laptop as client I also get the bye bye not worked message because the server could not be found.

I think something is missing because why doesn't it work on the other computer and my laptop, but it works on this computer..
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 16:40

Hmm, strange. I still can't connect the second client, event if I use another port for the client o.o

BTW the recoursive IP is 127.0.0.2

Neue Version / New Version: Beta 4

-Net_ClConnect got a new function to set the client port
-started translating the manual
-Net_SvRun returns 1 if the server got successfuly started, 0 if not
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/26/07 16:57

Tried the new version. When I run from SED and select Server and run another instance and select Client, then leave ip address on 127.0.0.2 and for port enter 60001 the server can't be found. Program terminated.

When I run from SED and select Server and run another instance and select Client, then leave ip address on 127.0.0.2 and for port enter any other port than 60001, let say 6060 for instance it says connected, done. In the server window client connected msg is displayed. When I try to input something in the chat I get the JiT engine crash program terminated.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 17:00

=) lol, 60001 is the port the server runs at. If you use 1 pc, this port is not aviable for clients.

I'm working on the error message, I'm sure it's a memory thing, like a deletet var.

And very much greats dusty for helping me. Do you have ICQ? is yes, please PM me your number
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/26/07 17:12

Tried again. Now i've run from SED select Server then another instance and select Client, left ip on 127.0.0.2 and enter for port 60008, client connect, done.

If I type something in the chat from the client it crash. If I enter something in the chat from the server everything is fine and the message display in both server as the client window.

I can add more clients to the server now. As long as I do not enter the same port for both clients. Client1 port 60002 Client2 port 60003 works. (if on the same machine) Oh and what if I want to add my internet provider ip address at the client screen? It wont fit xxx.xxx.xxx.xxx at the moment. If I want to connect from another computer the ip is 192.168.0.11 on the LAN or 213.10.104.xx for instance when I use the internet provider ip address.

Oh and I don't have ICQ that I used very long time ago and got hacked I have msn and xfire though or else we can post here..
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 17:44

Ok, nice to hear more then 1 client is working. Ok, I'm on the chat functions.

A IP like 123.2.67.3 is ok, as long as there are 3 dots.

Could you please try to sent a var from the client to the server and vise-versa? and, try to broadcast, so a second client gets it also.
Posted By: TheTommynator

Re: A6Network - Open Alpha Test - 02/26/07 19:00

Ich habe dasselbe Problem wie HPW.

Ich habe die DLL's in den acknex_plugins Ordner getan, aber trotzdem werden sie anscheinend nicht geladen.

Bekomme, sobald ich Server oder Client wähle Fehlermeldungen, dass die DLL-Funktionen nicht existieren.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/26/07 19:17

Geht bei dir denn die Test application? Also einfach auf Test.bat klicken.
Posted By: TheTommynator

Re: A6Network - Open Alpha Test - 02/26/07 19:29

Starten tut sie, ja, aber dann dieselben Fehler.
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/26/07 20:11

Crash in Net_SvProcessPackets: MsgPlace+=1 when I try type something in the chat as client. The server can chat and the messages are vissible in the server and all client windows.

I can send simple var from client to server and it update on all clients, but only if I disable the chat on clientside for a moment.(i'm not advanced c-script):

Code:
var aNumber = 0; 
PANEL Show_The_Number
{
digits (500, 25, "aNumber = %.0f", _a4font, 1, aNumber);
flags = VISIBLE;
}
function AddNumber()
{
aNumber+=1;
Net_ClSendVar( "aNumber", 1 ); // 0 = send only to server 1 = send to server and all clients
}
on_n = AddNumber;


Posted By: Damocles

Re: A6Network - Open Alpha Test - 02/27/07 05:52

Irgedwie schein acknex nicht fähig zu sein plugins zu laden in der dev-version.
Wenn man es publisht, dann gibt es keine Probleme, wenn
die dll im folder ist. Aber die dev-version findet die
dll bei mir auch nicht, auch wenn sie im folder ist,
oder auch im pluginverzeichniss.

Das scheint ein Engine Problem zu sein.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/27/07 17:57

Damocles, könntest du ml probieren die DLL in den acknex_plugins zu schieben und die Zeile ' plugindir="." ' aus dem Script zu löschen?
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/27/07 18:54

Update:

- += Error behoben (doppelter aufruf der funktion->buffer overflow) / No += error in the demo anymore, this was because the function was called twice from different threads
- ' plugindir="."; ' Zeile aus Demo entfernt, die DLL muss in acknex_plugins geschoben werden / Removed line ' plugindir="."; ', the DLL has to be in the acknex_plugins folder
Posted By: HPW

Re: A6Network - Open Alpha Test - 02/27/07 19:02

Also das die Dev-Version DLLs öffnen kann, ist sicher. Habe selbst eine Datenbank DLL für mein Projekt programmiert und die funktioniert. Ebenso funktioniert das Sphere 2 Plugin von Mat.
Vielleicht könnte man dir dabei ja helfen wenn du den source veröffentlichst? Es sei denn das du das nicht möchtest.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/27/07 19:04

Vorerst nicht Könntest du bitte mal die neue Version probieren?
Posted By: HPW

Re: A6Network - Open Alpha Test - 02/27/07 19:13

Hab die neuste Version grade ausprobiert und bisher hat sich nicht verändert. Gleiches Problem wie vorher.
Bist du dir sicher das du auch die neusten Plugin C++ Dateien von A6.50.6 verwendest?
Verwendest du momentan das .Net Framework? Ich habe auf der Arbeit auch schon viel damit zu tun gehabt und es macht oftmals bei verschiedenen Systemen krasse Probleme. Je nachdem was damit gemacht wird.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/27/07 19:26

Ich verwende in dem neusten Update sogar die Beta header

Nein, kein .Net, ich verachte Mircosoft. Hmm, es sollte auf jedem System laufen ^^ Seid ihr euch auch ganz sich dass ihr nicht nur die RakNet.dll, sonder auch die A6Network.dll verschoben habt? Das gibts doch nicht...
Posted By: HPW

Re: A6Network - Open Alpha Test - 02/27/07 19:37

Ja, definitiv habe ich beide DLLs verschoben.
Übrigens habe ich ein paar Microsoft Development Tools (wie z.B. DirectX SDK, Visal C++ .Net, usw.) auf meinem PC. Falls das ein Problem sein sollte, probier vielleicht mal was in der Richtung aus.
Posted By: TWO

Re: A6Network - Open Alpha Test - 02/27/07 20:18

Ok, I'm now porting the project from RakNet 2.x to 3.0

Wish me much fun
Posted By: Damocles

Re: A6Network - Open Alpha Test - 02/28/07 03:16

wish you much fun
Posted By: D3D

Re: A6Network - Open Alpha Test - 02/28/07 07:34

I'm going to read the documentation on their website a little closer and browse the forums for some more information. Hope porting everything to 3.0 is going to be painless
Posted By: TWO

Re: A6Network - Open Alpha Test - 03/12/07 01:13

Some news:

-Yes I'm still working on it, 24 hours a day and if that's not enaugh, the whole night, too.

-It's going to use RakNet 3.0 and the peer class (this is for the people who know RakNet)

-To plugin got very very big, multplayer has never been that easy and powerfull; VOIP, File Validation, Var/String/Array Trackers (Automatic Send), Secure Connections

-A lot of samples how to use all the features; Maybe even a litte MMO game with 2 servers

-The beta release will be this or next* week, free for all; This version runs till the 31.3

*Litte edit, I want to pack more samples in it and make the entity managerment more masive multiplayer friendly
Posted By: lostclimate

Re: A6Network - Open Alpha Test - 03/12/07 01:16

wow, thats great, hopefully i can join the beta, it is very interesting to me.
Posted By: Damocles

Re: A6Network - Open Alpha Test - 03/12/07 04:23

When everythink works out and functions flawlessly, this
could be the big option to replace the current insufficient
multiplayeroptions and limitations.

Really looking forward to it.
Posted By: zSteam_

Re: A6Network - Open Alpha Test - 03/12/07 19:16

kann nochmal jmd. bitte die dateien hochladen? oder mir schicken: zsteam@alma2.de

denn der link ist kaputt

danke .. zSteam
Posted By: TWO

Re: A6Network - Open Alpha Test - 03/12/07 20:24

Richtig, so soll es sein; Die Version die hochgeladen war ist hoffnungslos veraltet, es ist nur 1/3 von dem drin was jetzt drin ist und davon geht die Hälft nicht.

Ich will nicht dass eine verbuggte Version in Umlauf kommt, gedulde dich noch ein bissien.
Posted By: zSteam_

Re: A6Network - Open Alpha Test - 03/12/07 20:57

hmm ok ... aber es kling oberst geil^^

denn das multiplayer-system von a6 kann man net verwenden
und voice-over-ip waäre noch fetter ^^

hast du ein team? vllt. sollte man sich mich conitec in verbindung setzten um leute zu finden
Posted By: TWO

Re: A6Network - Open Alpha Test - 03/12/07 21:35

Nein, ich bin im Moment alleine. Und was will Conitec mit einem der noch in der Schule ist?

Ja, also dass System sollte MMO kompatibel sein, soll heißen alles was man dazu brauch: Player Managerment, Datenbank, Verschlüsselung, Auto-Update, Datei Überprüfungen. Ich garantiere aber für nichts, kommt drauf an wieviel Zeit ich für was hab.

Ich hoffe danach wird es einige professionelle MM Versuche hier geben
Posted By: D3D

Re: A6Network - Open Alpha Test - 03/13/07 06:16

Nice to know that you are still working on the A6N DLL. I'm looking forward to trying the newest features from Raknet. I don't make anything commercial, so this DLL really is the best alternative for me and beside that it offer more features than Gamestudio does. Plus with this extension it will be possible for lower editions to create multiplayer games too, good job!
Posted By: TWO

Re: A6Network - Open Alpha Test - 04/22/07 19:55

Hello first,
The plugin is as good as finsihed, 1 or 2 months would be enaugh. It got much bigger than I expected and than populace.

Now the less good note. I thought 1 year ago that I could sell my plugin, integrate it in my customers system and then buy a 100€ RakNet license for every custormer because my plugin is not a wrapper but a complete system. Well, I should have asked Rak'kar first (the creator of RakNet). He disagreed my suggestion and told me that I would have to buy the 5000€ engine license to resell RakNet as it is. As you can image I can't even spend a small amount of this price.

So the official work on this plugin stopped yesterday. Now I search for a sponsor to pay the money in exchange that I can finish the plugin. You will get the money back for sure (if I can sell this much copies) and you have access to the soucecode. If you are interested PM me or message me ICQ: 3491114Two.

Thanks for your interest,
Bloodline





Posted By: D3D

Re: A6Network - Open Alpha Test - 04/23/07 04:38

I thought Raknet was free for non commercial use? I would pay some money for this plugin but not like $100.- dollars. I'm just hobby game developer How about a poll to see how many people are willing to purchase this plugin, then maybe you can work out a deal with Raknet instead of having a middle man for the payment!?
Posted By: TWO

Re: A6Network - Frozen Throne - 04/23/07 18:46

Yes, RakNet is for for non-com usage, but I want to resell it. So it would be only possible to donate it free for you and I really played with this idea. But then I look again at my A6GUI thread with a cute free editor with no feedback at all and then I decided I will never give my >1 year hard work for free.

I wanted to give it away with 30 € per license. That's less then Populace costs but you will get far more power. But to pay the 5k bucks I would have to sell 100 copies at 50 € and that's unrealistic.

If you want to make a poll to show me if there's someone interested, but I don't belive much in such things.
Posted By: Puppeteer

Re: A6Network - Frozen Throne - 04/24/07 13:57

wieso denn frozen throne
dein A6GUI war doch richtig goil
Posted By: ISG

Re: A6Network - Frozen Throne - 04/24/07 15:23

Why not let each player get rak-net themselves for free...then you sell your compatible program yourself to go along with it for the price you desire?

Just an idea...
Posted By: Excessus

Re: A6Network - Frozen Throne - 04/24/07 15:53

Yeah, you could do that. But the disadvantage is that everyone has to compile it for themselves. Some newbies might find that difficult or cumbersome.
Posted By: BoH_Havoc

Re: A6Network - Frozen Throne - 04/24/07 18:20

As far as i know Bloodline uses the compiled version of raknet and "just" wrote a dll to make use of the raknet dll. If this really is the case, then what ISG suggested might be a good idea, sell your dll and let us handle the raknet stuff for ourselves
Posted By: D3D

Re: A6Network - Frozen Throne - 04/25/07 02:52

Have no problem with € 30/50.- for latest Raknet features working with A6/A7, I could pay more too, but I don't want to because i'd never make anything commercial with Gamestudio. Just want to learn and play as hobby

However I was thinking about how your plugin would work. If it just need the Raknet plugin then its up to the end user to obtain a license for Raknet when used on commercial base. Other non-commercial developers may use the Raknet plugin freely. Sure you can ask money for your work and part of the dll which makes it interface with Gamestudio or would Raknet require you personally to own a license when creating something wrapper like a front end for their plugin and you want to sell that part you've wrote yourself?

If not, you could perhaps create the GUI in a way so it enables or limit some features and ask different prices. Furthermore I don't see why you must pay anything to Raknet if this would be the case. They should be glad because it brings more attention to their product and some developers could eventually purchase a commercial license for Raknet plugin.
Posted By: lostclimate

Re: A6Network - Frozen Throne - 04/25/07 05:14

or you could compile a dll for raknet itself, and a seperate one to interface with that dll, then in order to use your interface you charge, and that raknet dll that you made would be licensed thru raknet themselves.
Posted By: William

Re: A6Network - Frozen Throne - 04/25/07 09:25

Is it possible to use this .dll + raknet to add VOIP too an existing 3dgs project already using 3dgs multiplayer? Either way, this sounds really interesting, hopefully this gets released one day(with an English manual).
Posted By: TWO

Re: A6Network - Frozen Throne - 04/26/07 04:38

*Dusty3D

RakNet has been made by one man, Rakkar. As the engine is very popular, he don't cares for you 60 users The thing is, if I ship a piece of raknet with my product, I need to pay the license fees. After that I can do with my own code what I want, sure.

*William

Sure

*BoH_Havoc

No I compile RakNet myself in the plugin project. I need to do this because I made several changes to RakNet.

Ok, I will further develop this plugin Your idea with the only-glue code is nice. I also will give you more updates here what is currently developed.

But I still try to cooperate with Rakkar, because most users won't get the thing compiled, even with a step-by-step manual.

Bloodline
Posted By: TWO

Re: A6Network - Frozen Throne - 04/26/07 16:39

Update

// [25/4/2007 Bloodline] - New stage: Alpha
// [25/4/2007 Bloodline] - Replaced mutex locks with a SingelConsumerProducer class -> More speed
// [26/4/2007 Bloodline] - Tested and fixed server event code

Server event code? Yes, instead of a function which returns a packet ID every frame (very very slow, because only one packet can be processed per frame) the plugin calls a function you set.

Bsp:

void Event_NewPlayer()
{
sys_exit("");
}

Net_SvEventSetFunction(Net_EventNewIncommingConntection, str_create("Event_NewPlayer"));
Posted By: Puppeteer

Re: A6Network - Hot Throne - 04/26/07 16:43

Ich freu mich schon drauf
Mach bloss so weiter
HAbe das Teil mal aufgewärmt (siehe Titel )
Posted By: Excessus

Re: A6Network - Hot Throne - 04/27/07 11:35

Quote:


void Event_NewPlayer()
{
sys_exit("");
}

Net_SvEventSetFunction(Net_EventNewIncommingConntection, str_create("Event_NewPlayer"));



You have a memory leak

Just curious, though: what code do you use internally for calling that c-script/lite-c function from C++?
Posted By: TWO

Re: A6Network - Hot Throne - 04/27/07 14:02

Lol, tell me why I'm not a C++ god and my code is very far from beeing perfect.

Code:

// ***************************************************************
// Copyright (C) 2006/2007 Bloodline except otherwise marked.
// All Rights reserved.
// -------------------------------------------------------------
// file: Net.Server.Events | date: 10/4/2007
// -------------------------------------------------------------
// purpose:
// ***************************************************************
// [10/4/2007 Bloodline] - Created

long Net_SvEventFunctions[255];

DLLFUNC void Net_SvEventFunctionsReset()
{
for(int i=0;i<254;i++)
Net_SvEventFunctions[i]=NULL;
}

DLLFUNC void Net_SvEventSetFunction(int ID, STRING* Name)
{
long Func = engine_getscript( Name->chars );

if(Func!=NULL)
{
if(ID<0 || ID>=255) Net_Error_Raise("Net: Net_SvEventSetFunction - ID is not valid!");

Net_SvEventFunctions[ID] = Func;
}
else
Net_Error_Raise("Net: Net_SvEventSetFunction - Function not found!");
}

void Net_SvEventExecuteFunction(int ID, long Arg1, long Arg2, long Arg3, long Arg4)
{
if(ID<0 || ID>=255) Net_Error_Raise("Net: Net_SvEventExecuteFunction - ID is not valid!");

if(Net_SvEventFunctions[ID]!=NULL)
{
engine_callscript( Net_SvEventFunctions[ID], Arg1, Arg2, Arg3, Arg4 );
}
}


Posted By: Excessus

Re: A6Network - Hot Throne - 04/28/07 07:28

Thanks bloodline. I'm still very new to the engine SDK, so I don't know all functions yet. engine_getscript and engine_callscript.

You have a memory leak because you use str_create to create a string without removing it. str_create creates a string (which takes memory), and returns a pointer to that memory. You pass that pointer to a function, but unless the function removes the string (which is a bad idea because then it will always remove the strings you pass to it), the string will stay in memory but you have no way of accessing it because you lost the pointer.
Posted By: TWO

Re: A6Network - Hot Throne - 04/28/07 08:39

Ah ok. Yes that's indeed not wanted, but as this plugin was made for C-Script I had to use strings. I'll change that, thanks
Posted By: TWO

Re: A6Network - Hot Throne - 04/30/07 22:06

Update

// [26/4/2007 Bloodline] - Added more general error system
// [28/4/2007 Bloodline] - Optimized the sending functions
// [28/4/2007 Bloodline] - Replaced the plugin's linked list class with STL lists
// [29/4/2007 Bloodline] - Introduced Net_SvRedirectClient (Untested)
// [29/4/2007 Bloodline] - Changed all signatures from STRING to char
// [30/4/2007 Bloodline] - Added var tacker to server code
Posted By: fastlane69

Re: A6Network - Hot Throne - 05/01/07 17:43

"But the disadvantage is that everyone has to compile it for themselves. Some newbies might find that difficult or cumbersome. "

For people who are in the "don't know", you could always base instructions off a free downloadable OS compiler of choice. Even better make a video or macro using that compiler to take you through the compilation process. This way you sell your code, they download the free compiler and raknet, run the instructions, and voila! Seems within EULA?

However:
1) Is there a way to make your code secure (ie unreadable) before the raknet compilation process though? This is commercially important too.
2) Does Rakkar mind you distributing for free? If so, you could compile a small thin taste of your full DLL for free and then gauge how support would be for a more robust 30-50 USD product. Perhaps even just sell the source at a higher price (200 usd?) based off what people see and get in the free compiled version.
© 2024 lite-C Forums