RakGS 0.1 Beta - RakNet for A7 / Lite-C!

Posted By: Excessus

RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/11/07 19:59

RakGS is a networking plugin for 3D Gamestudio A7 / Lite-C. RakGS uses the RakNet library version 3.0 and adds a network event system, remote systems management and a C-style interface specifically tailored for 3D Gamestudio A7 / Lite-C.

RakGS was built with flexibility, extensibility, efficiency and security in mind. For this reason, the RakGS functions do not resemble the native 3DGS multiplayer functions as closely as other networking plugins. RakGS can be used to create anything from a small casual multiplayer game to a full-blown massively multiplayer game.

Major features:
- Based on the high-performance, proven and stable network library RakNet.
- Supports every thinkable network topology: traditional client-server, inter-client connections, inter-server connections and true peer-to-peer.
- Easy compression and decompression.
- Event callback system. Supply your own event functions that will be called when a certain type of packet is received.
- Send any type of data, including your own structs. Combine any number of data types in a single packet with the fast & easy serialization / deserialization functions.
- Send packets reliable or unreliable, ordered per-channel.
- Unlimited number of connections.

Planned features:
- Voice chat
- Autopatcher
- Remote procedure calls
- Secure connections and encryption with a single function call.
- Network simulator
- Statistics

>> Download << (make sure you check the whole thread for newer versions)

RakGS comes with a manual describing every function in detail and a simple demo project. To run the demo, open both server.c and client.c in your A7 / Lite-C SED and run them (server first). Enter a local port for the client (don't use a port that is being used by another program, the server uses 50000). Then you can send text messages to the server. This is just a small demo showing how to use the plugin. You can look at the source of the demo project to get an idea of how to use RakGS, and look up specific functions in the manual.

The manual contains further information on every function in the plugin and how to include RakGS in your project.

Even though this version is called 0.1, it already contains all basic features needed to write a simple multiplayer game. In the current version, the number of connections is limited to 4.

Please report any bugs you find in this thread.
Posted By: fastlane69

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/11/07 20:15

Wow!

It finally happened!

Great job, Ex!

Tell me:

1) How hard do you suppose it would be to mitigate existing 3DGS MP code to Raknet?
2) As we both know, one of the more annoying things we've had to do is implement our own routines so that only relevant entities (ie within a certain radius) send information to a client (my Sphere Of Influence if you remember). Does RakNet have an inbuit solution to this or would we still have to program this in?

Honestly Ex, if this pans out, I would be the first to ask Conitec to make this their native network engine... seems to make more sense to use Rak than to use the Sunset DirectPlay as it does now.

Oh, and if I may, I would develop in this order... merely my opinion of course:

- Remote procedure calls
- Secure connections and encryption with a single function call.
- Statistics
- Autopatcher
- Voice chat
- Network simulator
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/11/07 21:32

Quote:

1) How hard do you suppose it would be to mitigate existing 3DGS MP code to Raknet?



It depends very much on your code. If you have a modular design, where you have an abstraction layer over the 3DGS functions, this will be very easy. The best case scenario is a codebase with clearly seperate pieces of code for creating and handling every seperate type of message. For example, a clearly seperated function that creates a movement update (as a string or series of skills for example) and a corresponding packet for handling such incoming messages could easily be converted to a function that creates a BitStream and a network event function that reads the BitStream and acts upon the contents. Your code should not use the native entity updates.

if your code is a mess with send_*()s everywhere, it is still possible to convert to RakGS, for example by using a single MessageID for every kind of variable (kind of like inventing your own network indices as used by 3DGS).

In any case, the problem for you will most likely not be that it is too hard to convert your code (after learning Lite-C it's a breeze) but that it most likely is a large amount of code.

How much your existing codebase would benefit from RakGS is dependent on how much you where thinking "The RakNet way" while designing your code. For me, I have wanted to write code the way you can with RakGS since the beginning, so my code uses concepts that easily map to RakGS functions. Those concepts where internally implemented as "workarounds" in my 3DGS code, but when converting to RakGS they should work gracefully.

Quote:

2) As we both know, one of the more annoying things we've had to do is implement our own routines so that only relevant entities (ie within a certain radius) send information to a client (my Sphere Of Influence if you remember). Does RakNet have an inbuit solution to this or would we still have to program this in?



RakNet does not have an inbuilt solution for determining which entities are near which ones, since it doesn't deal with entities. (When using RakGS, you must break the thought-link between entities and clients, they are not the same.). However, I have implemented a system that automatically assigns SystemIDs to connected systems. SystemIDs are useful for several purposes. You can conveniently relate SystemIDs with client data on the server (by an array of Client structs, indexed by their SystemID). You can store a pointer to the player character entity inside your Client struct, and store the SystemID in a skill of the entity. You could then use your old scan code to detect nearby entities and write their SystemIDs to a list in the Client struct. This list can be used to send to those clients:
RAKGS_send(chatMessage, client.SOI[ i ]); in a loop that increments i.
instead of an ugly lookup system.

Quote:

Honestly Ex, if this pans out, I would be the first to ask Conitec to make this their native network engine... seems to make more sense to use Rak than to use the Sunset DirectPlay as it does now.



I have spoken to jcl and he will consider RakNet when the need to change network libraries arives. He says "DirectPlay is depreciated, but still a
reliable workhorse. The engine network functions are implemented on a higher
layer and not dependent on the underlying network library.". This is an understandable point of view, since it is quite a lot of work to convert I think (in hindsight). Also, he most likely wants to maintain backward compatibility so he cannot change the design of the 3DGS network engine significantly.

Quote:

Oh, and if I may, I would develop in this order... merely my opinion of course:

- Remote procedure calls
- Secure connections and encryption with a single function call.
- Statistics
- Autopatcher
- Voice chat
- Network simulator




Yes I'll implement RPCs and secure connections first..

If you promise to write a little more sophisticated test app and let me know what you think
Posted By: fastlane69

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/11/07 23:31

Quote:

If you promise to write a little more sophisticated test app and let me know what you think




I can't.

I have a prototype to deliver by the end of this month to one of the grants. All of our code is in A6 and I haven't touched A7 nor C-Lite since neither fully support MP (A7's C-script might but I have a standing rule not to work with software right after it's released). As such, I cannot at this moment try or work with new software no matter how tempting it is. After our prototype delivery, I will be spending LOTS of time with business and gaming consultants to see what our next step is. Honestly, up until now the leading contender was to raise capital for full-blown production under the Multiverse platform... it's just too tempting and professional to pass up. I was going to then keep our developed work as a way to quickly prototype game ideas for ourselves or potential clients. However, if RakNet is "all that and a bag of chips", it could lead to the my original plan to stick with A6/7... not without it's risks since 3DGS' priority is not networking and Multiverses is, but I have to consider all possibilities.

In any case, regarding some earlier comments, I obviously was not thinking the "raknet" and we have lot's of code. How much of it is "workarounds" that can be avoided with RakNet I don't know but it sounds that, just like any other solution, you trade one workaround for another. We try to abstract as much as possible with our code so that we don't use send_xx() all over the place but have a other functions that do that for us (like send_to_client(), or send_to_everyone(), that sort of thing). My architecture is platform independent but that doesn't mean that I won't have to spend tons of time implementing it (or rather re-implementing it) As such, I think that it might not be hard to get our network traffic modified to work with RakNet but the event handlers we would have to program ourselves as well as any type diffences, and just understanding how RakNet works makes this a daunting task. I guess without you seeing my code nor I seeing yours that was a pretty silly question to ask but it was worth a shot anyways.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/12/07 07:05

LOL why 4 connections!? Thanks for this release you've made my day

After quick test: server.c use 100% CPU. I'll have to try again with client, but if I type a string for the chat it is supposed to show error malfunction?
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/12/07 14:52

Got compressed serialization/deserialization done, and am working on RPCs now. What do you think, should RPCs be able to receive input parameters? Parameters for RPCs seem to make things much harder to implement efficiently and with a simple interface. Right now, gamestudio's RPCs (proc_client/proc_local) don't use parameters I think.. Not using parameters seems to offer very little improvement, though, since the event functions are pretty much Remote Procedures invoked by sending a certain MessageID.

Quote:

LOL why 4 connections!?



I might want to sell a full featured version, not sure yet.

Quote:

After quick test: server.c use 100% CPU.



You can set a higher ThreadSleepTime when initializing the network engine. This should decrease the CPU usage.

Quote:

I'll have to try again with client, but if I type a string for the chat it is supposed to show error malfunction?



Yes I use the error() instruction for quick & dirty output. This is in the Lite-C code, so you could obviously process the incoming chat message differently in a real application.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/12/07 15:15

Forgot about that. Last year i've seen the solution on the raknet forums. Anyways thanks for the hint, it solved my problem with high cpu.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/12/07 18:53

I've spent today thinking up a elegant way to implement RPCs, and I've come up with a really nice solution. It requires one call on the receiver to register the function. Calling the function is a single function call:
RAKGS_RPC(SystemID, RPC_ID, argumentCount, [arguments]);
The SystemID is the system to invoke the function on, ID is a number that is used to register the function on on the server (they must match on caller and callee). ArgumentCount is the number of arguments the function takes. [arguments] is an optional list of arguments. The number of arguments is up to you, and can be any built in type.

Got a party tonight and I'm going skydiving tomorow so I'll implement this thursday I think.
Posted By: fastlane69

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/12/07 19:18

Seems like a good solution to the RPC issue: let the user decide if they want to send parameters or not. Talking with my programmers they confirm that most RPCs are parameterless (like our proc_xx) but they could come up with no reason for that except just easier code programming.

So is ID like our old fashion index or more like the handle?
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/12/07 19:30

The ID is just an integer number that you use on the receiver to register a function as RPC. Then you use the same ID on the caller which will result in a call to the function linked to that ID on the receiver.

It's probably best to use a shared header for client and server that contain defines for the IDs:

#define RPC_function1 0
#define RPC_function2 1 // and so on.

You can then register your functions:
RAKGS_registerRPC(function1Ptr, RPC_function1, function1ArgumentCount);

And call the function from another system:
RAKGS_callRemote(RPC_function1, function1ArgumentCount, arg1, arg2, arg3, arg4);


I've built my own RPC functionality, instead of using RakNet. Rationale for this is that RakNet requires you to initialize a struct containing a char* to a list of serialized arguments. This is pretty much the same as serializing your "arguments" with a BitStream, send them with a certain MessageID, and deserialize them in the network event. The way I've implemented RPCs it takes very little setup, and once that's done, all serializing and deserializing is done for you and you just have to call a function.
Posted By: fastlane69

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/12/07 19:51

Quote:

It's probably best to use a shared header for client and server that contain defines for the IDs:

#define RPC_function1 0
#define RPC_function2 1 // and so on.





Hehehe. That's exactly what we do with our networked vars and strings so the indexes match up. So it is "like" the index. Thanks!
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/12/07 21:34

Port 50000 tcp/udp forwarded to 192.168.1.88 on the router
PC1: Server has local ip 192.168.1.88
PC2: Client1 has local ip 192.168.1.73

Inside client.c changed 127.0.0.1 -> 192.168.1.88 to connect over LAN
Started Server.exe on PC1
Started Client.exe on PC2 on port 50001

Client.exe use 100% CPU. After i'd enter port 50001 Client.exe crashed. Happens every time. I have included acknex.dll, rakgs.dll inside the directory.

If I undo the changes in client.c and default to 127.0.0.1 and run the server and client from the same computer there is no problem. Client can connect to server and send message. Messages are not visible for other connected clients.
Posted By: William

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/13/07 04:41

Thanks for developing this. While I probably won't convert my project over(many lines, all integrated 3dgs Multiplayer); this is great for others starting new projects. It's neat how many networking plugins have been released or planned as of late.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/13/07 21:34

Thanks, D3D for your bug report.

It works over the internet here, so I need some more information. Are you using the demo projects client.c and server.c, or have you written something from scratch? Could you debug into this and see where exactly it crashes(this is important for me to even start the search)? It seems your computers are on a local network. Could you try to connect to the external IP (or loopback address?) and forward to different computers for both ports?
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 08:42

@ Exessus:

No I did not yet write anything myself. The only thing i've changed in your example program is -> client.c script (the ip number of the server). Because the client was run from another computer on my LAN trough router, the normal ip 127.0.0.1 would not work.

Okay. Now i've compiled the client.exe and run server.exe on PC1. On PC2 a computer with standard hardware and AMD CPU, I started the client.exe and tried to connect to PC1, both computers are connected to the same LAN via router. The setup:

Port tcp/udp 50000 forwarded at router -> PC1

PC1 = Server.exe -> 192.168.1.88
PC2 = Client.exe -> 192.168.1.33

I have made three client.exe's and tried this from PC2
# Client.exe connect -> ISP IP 213.10.104.17
# Client.exe connect -> Router Gateway IP 192.168.1.254
# Client.exe connect -> PC1 local assigned IP 192.168.1.88

No matter what I try it always give this error and the client.exe use 100% CPU. The dialogs are in Dutch because i'm using Windows XP Home NL edition. Everything is updated on the system and the hardware is standard for testing minimal applications.


Download appcompat Windows error

acklog
Log of A7 Engine 7.03 run at Thu Jun 14 13:38:38 2007
Someone on Windows NT/2000/XP version 5.1 Build 2600
Options -diag

App C:\Test\client.exe in C:\Test\
DI interface opened
Start Window opened
© Conitec . Dieburg . San Diego . www.conitec.net
A7 Engine - Commercial Edition V7.03 - May 24 2007

Mouse found
SAPPHIRE RADEON 9250 pure T&L device 1ff9 detected
D3D device SAPPHIRE RADEON 9250 1ff9 selected
Loading CLIENT.EXE.....
Compiling CLIENT.EXE..... .
Running CLIENT.EXE
2 objects
Main started
D3D_Init Window: 640x480x32 -> Window: 1x640x480x32
Video memory found: 249 MB
Main loop.........ok
1st frame - 254976K.. ok
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 12:25

Thanks a ton for helping me beta test my plugin.

A possible reason for the crash is the fact that I'm using the free Lite-C from the download page, and you are using the A7 prerelease. I've won an upgrade to A7 but I haven't claimed it yet, so I'll do that now. In the meantime, could you try to run the plugin with the free Lite-C from the download page?

I also just noticed that I've linked against the A6.5 SDK, so I'll update that.

Another possibility that I thought of when you mentioned that you use an AMD CPU is that this might have to do with endian swapping. I don't know much about this, and I don't know what endianness the large CPU manufacturers use (intel/AMD) or if they differ, but I can check that. What processors are in the systems you're using to test with?
EDIT: I just looked this up, and this is most likely not the problem. The x86 architecture (used by both intel and amd) uses little-endian.

BTW,
Quote:

Client can connect to server and send message. Messages are not visible for other connected clients.


This is expected behaviour; there is no functionality in the Lite-C program to forward messages to other clients or send from server to a client. Could be added easily.

EDIT:
Could you try to find out exactly where it crashes? I think lite-c doesn't yet support a debugger, but you could comment out instructions (there are only a few after the inkey() call in main()), or use an error() call after every instruction to see how far it gets before crashing. It's kinda strange this crashes, because there are RakGS calls before the inkey() (making the wrong A7/Lite-C/library version explanation unlikely) and the connect function is very simple; it just forwards the parameters to RakNets connect function.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 14:36

I'll install Lite-C free on both computers, try again and post the results soon. There is one thing though. I see RakGS.dll is loaded when I run the server executable or from Lite-C SED, but not when client is run on the other computer.

The RakGS.dll is inside both client as server directory. Also the line plugindir = "."; is present in client.wdl and server.wdl files.

PC1 - Running server.c
Log of Atari Lite-C 1.03 run at Thu Jun 14 16:38:51 2007
Someone on Windows NT/2000/XP version 5.1 Build 2600
Options Server.c -diag

App C:\Program Files\liteC\acknex.exe in C:\MyGame\RakGS\Server\
MM mixer opened
DSOUND device opened
DI interface opened
Start Window opened
© Conitec . Dieburg . San Diego . www.3dgamestudio.com
Atari Lite-C - Edition V1.03 - May 26 2007
Development version

Mouse found
SB Live!-waveapparaat opened
NVIDIA GeForce 7600 GT pure T&L device 1ff9 detected
D3D device NVIDIA GeForce 7600 GT 1ff9 selected..
RAKGS.dll opened
Compiling SERVER.C... .... .
Running SERVER.C
2 objects
Main started
D3D_Init Window: 640x480x32 -> Window: 1x640x480x32
Video memory found: 488 MB
Main loop.........ok
1st frame - 499712K.. ok

PC1 running client.c
Log of Atari Lite-C 1.03 run at Thu Jun 14 17:21:50 2007
Someone on Windows NT/2000/XP version 5.1 Build 2600
Options Client.c -diag

App C:\Program Files\liteC\acknex.exe in C:\MyGame\RakGS\Client\
MM mixer opened
DSOUND device opened
DI interface opened
Start Window opened
© Conitec . Dieburg . San Diego . www.3dgamestudio.com
Atari Lite-C - Edition V1.03 - May 26 2007
Development version

Mouse found
SB Live!-waveapparaat opened
NVIDIA GeForce 7600 GT pure T&L device 1ff9 detected
D3D device NVIDIA GeForce 7600 GT 1ff9 selected..
RAKGS.dll opened
Compiling CLIENT.C... .... .
Running CLIENT.C
2 objects
Main started
D3D_Init Window: 640x480x32 -> Window: 1x640x480x32
Video memory found: 488 MB
Main loop.........ok
1st frame - 499712K.. ok

PC2 running server.c
Log of Atari Lite-C 1.03 run at Thu Jun 14 17:30:01 2007
Someone on Windows NT/2000/XP version 5.1 Build 2600
Options Server.c -diag

App C:\Program Files\liteC\acknex.exe in C:\RakGS\Server\

DI interface opened
Start Window opened
© Conitec . Dieburg . San Diego . www.3dgamestudio.com
Atari Lite-C - Edition V1.03 - May 26 2007
Development version

Mouse found
SAPPHIRE RADEON 9250 pure T&L device 1ff9 detected
D3D device SAPPHIRE RADEON 9250 1ff9 selected..
Compiling SERVER.C... .... .
Running SERVER.C
2 objects
Main started
<--- crash server.c see ---> error.xml

PC2 running client.c
Log of Atari Lite-C 1.03 run at Thu Jun 14 17:27:02 2007
Someone on Windows NT/2000/XP version 5.1 Build 2600
Options Client.c -diag

App C:\Program Files\liteC\acknex.exe in C:\RakGS\Client\
DI interface opened
Start Window opened
© Conitec . Dieburg . San Diego . www.3dgamestudio.com
Atari Lite-C - Edition V1.03 - May 26 2007
Development version

Mouse found
SAPPHIRE RADEON 9250 pure T&L device 1ff9 detected
D3D device SAPPHIRE RADEON 9250 1ff9 selected..
Compiling CLIENT.C... .... .
Running CLIENT.C
2 objects
Main started
D3D_Init Window: 640x480x32 -> Window: 1x640x480x32
Video memory found: 249 MB
Main loop.........ok
1st frame - 254976K.. ok
Normal exit

Close level,DLL,objects
Free input,funcs,panels,defs,syns,views,strings,vars..ok
Free sounds,bmaps,fonts,hash,defs1,script..ok
Close dx,multimedia,D3D,engine,physics,nexus..ok
Atari Lite-C - Edition V1.03 - May 26 2007
© Conitec . Dieburg . San Diego . www.3dgamestudio.com
Close window
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 15:11

Quote:

I see RakGS.dll is loaded when I run the server executable or from Lite-C SED, but not when client is run.



Then we have found the reason for the crash. If the plugin isn't loaded you will be calling an empty function pointer when calling a RakGS function. This always causes a crash. I find it very strange, though, that the IP address in the connect call has influence on this..

Now we have to find out why it isn't loaded. Could you check what is inside server.wdl and client.wdl? Both should contain "plugindir = ".";". This file does not have to be included anywhere, but it MUST be named "server.wdl" and "client.wdl" (same name as the .c files).

Do you have a RakGS.dll in both folders?

Could you try to use dll_open (STRING* pathname), and see if that works. (Also check the return value).

EDIT: I just figured, the change in IP address is not causing the crash, it is the fact that you would then run it on the same PC. What happens if you run the server on the other PC? Does it crash right away then? I can imagine that there is a problem with loading plugins on one of your PCs. I've heard about similar problems with gamestudio before.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 16:06

On PC1 the RakGS.dll is loaded with client.c and server.c, but on PC2 it isn't loaded at all. The server crashed when I tried to start it on PC2. Sorry I was trying on the other computer and edit my post few times. Are there any other dependencies beside DirectX 9.0c?

So to sum up:

PC1 running server (ok) -- RakGS.dll loaded on PC1 --
PC1 running only client (ok) -- RakGS.dll loaded on PC1 --
PC1 connecting client -> server on PC1 (ok) -- RakGS.dll loaded on PC1 --

PC2 running server (crash) -- RakGS.dll not loaded on PC2 --
PC2 running only client (ok) -- RakGS.dll not loaded on PC2 --
PC2 connecting client -> server on PC1 (crash) -- RakGS.dll not loaded on PC2 --

When Bloodline did his first Raknet plugin I had this problem too with the DLL. Have not figured out what was the cause at that time, because he was going to trash it and move to version 3.0 of the Raknet plugin. I'll give your suggestion a try now and see if that works.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 16:28

Quote:


PC1 running server (ok) -- RakGS.dll loaded on PC1 --
PC1 running only client (ok) -- RakGS.dll loaded on PC1 --
PC1 connecting client -> server on PC1 (ok) -- RakGS.dll loaded on PC1 --

PC2 running server (crash) -- RakGS.dll not loaded on PC2 --
PC2 running only client (ok) -- RakGS.dll not loaded on PC2 --
PC2 connecting client -> server on PC1 (crash) -- RakGS.dll not loaded on PC2 --



Yes, this is expected behaviour given that the dll is not loaded on PC2. PC2 doesn't crash the client right away, because no RakGS instruction is called before the port is entered.

Could you try my suggestions in my previous post, most notably the one about dll_open? I think using dll_open("RakGS.dll"); or dll_open(".\\RakGS.dll"); as the first line of the main function should work.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 16:59

Your suggestion didn't worked for PC2. There isn't even a error message displayed if I write a false name for the DLL. Like dll_open("ImFake.dll");

The diagnostic application output looks a little different for PC2 then it does for PC1. Beside the missing DLL there are more details for PC2 at the end of the log after the application is closed, as you can see in the logs above.

PC1 has installed

+ Windows XP Home Edition SP2
+ Pentium Dual Core 2,6ghz
+ 1 GB memory
+ Geforce7

+ GameStudio 6.60
+ GameStudio 7.03
+ Lite-C 1.03
+ VC2005
+ Bloodshed DEV C++
+ Delphi compilers
+ Windows 2003 Platform SDK
+ .NET 1.0, 2.0 and 3.0
+ DirectX SDK
+ DirectX 9.0c

PC2 has installed <-- test system

+ Windows XP Home Edition SP2
+ Celeron 2,4ghz
+ 512 MB memory
+ Ati 9250

+ Lite-C 1.03
+ .NET 1.0, 2.0 and 3.0
+ DirectX 9.0c
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 19:59

Ok, we're closing in on the problem.

Could you try installing VC2005 on PC2 and then try to run server.c? If it still crashes, also install the Platform SDK, but first try with just VC2005.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/14/07 20:30

Yep after installing VC2005 RakGS.dll is loaded on PC2. With server.c running on PC1, I can connect with client.c from PC2 and send message. 100% CPU solved by adding fps_max=60; inside function main. Anyways there must be some dependencies with VC2005 I think!?

Log of Atari Lite-C 1.03 run at Fri Jun 15 00:06:38 2007
Someone on Windows NT/2000/XP version 5.1 Build 2600
Options Client.c -diag

App C:\Program Files\liteC\acknex.exe in C:\RakGS\Client\
DI interface opened
Start Window opened
© Conitec . Dieburg . San Diego . www.3dgamestudio.com
Atari Lite-C - Edition V1.03 - May 26 2007
Development version

Mouse found
SAPPHIRE RADEON 9250 pure T&L device 1ff9 detected
D3D device SAPPHIRE RADEON 9250 1ff9 selected..
RAKGS.dll opened
Compiling CLIENT.C... .... .
Running CLIENT.C
2 objects
Main started
D3D_Init Window: 640x480x32 -> Window: 1x640x480x32
Video memory found: 249 MB
Main loop.........ok
1st frame - 254976K.. ok
Normal exit

Close level,DLL,objects
Free input,funcs,panels,defs,syns,views,strings,vars..ok
Free sounds,bmaps,fonts,hash,defs1,script..ok
Close dx,multimedia,D3D,engine,physics,nexus..ok
Atari Lite-C - Edition V1.03 - May 26 2007
© Conitec . Dieburg . San Diego . www.3dgamestudio.com
Close window

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

// File name: C:\RakGS\RAKGS.dll
// Created : 15.06.2007 00:48
// Type : Dependencies

activeds.dll C:\WINDOWS\system32\activeds.dll
adsldpc.dll C:\WINDOWS\system32\adsldpc.dll
advapi32.dll C:\WINDOWS\system32\advapi32.dll
advpack.dll C:\WINDOWS\system32\advpack.dll
apphelp.dll C:\WINDOWS\system32\apphelp.dll
atl.dll C:\WINDOWS\system32\atl.dll
authz.dll C:\WINDOWS\system32\authz.dll
browseui.dll C:\WINDOWS\system32\browseui.dll
cabinet.dll C:\WINDOWS\system32\cabinet.dll
cdfview.dll C:\WINDOWS\system32\cdfview.dll
certcli.dll C:\WINDOWS\system32\certcli.dll
cfgmgr32.dll C:\WINDOWS\system32\cfgmgr32.dll
clusapi.dll C:\WINDOWS\system32\clusapi.dll
comctl32.dll C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
comdlg32.dll C:\WINDOWS\system32\comdlg32.dll
credui.dll C:\WINDOWS\system32\credui.dll
crypt32.dll C:\WINDOWS\system32\crypt32.dll
cryptui.dll C:\WINDOWS\system32\cryptui.dll
cscdll.dll C:\WINDOWS\system32\cscdll.dll
dbghelp.dll C:\WINDOWS\system32\dbghelp.dll
devmgr.dll C:\WINDOWS\system32\devmgr.dll
dhcpcsvc.dll C:\WINDOWS\system32\dhcpcsvc.dll
dnsapi.dll C:\WINDOWS\system32\dnsapi.dll
duser.dll C:\WINDOWS\system32\duser.dll
dwmapi.dll Path not Found.
efsadu.dll Path not Found.
esent.dll C:\WINDOWS\system32\esent.dll
gdi32.dll C:\WINDOWS\system32\gdi32.dll
gdiplus.dll C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.2180_x-ww_522f9f82\gdiplus.dll
hlink.dll C:\WINDOWS\system32\hlink.dll
hnetcfg.dll C:\WINDOWS\system32\hnetcfg.dll
ieframe.dll C:\WINDOWS\system32\ieframe.dll
iertutil.dll C:\WINDOWS\system32\iertutil.dll
ieui.dll C:\WINDOWS\system32\ieui.dll
imagehlp.dll C:\WINDOWS\system32\imagehlp.dll
imgutil.dll C:\WINDOWS\system32\imgutil.dll
imm32.dll C:\WINDOWS\system32\imm32.dll
inetcomm.dll C:\WINDOWS\system32\inetcomm.dll
iphlpapi.dll C:\WINDOWS\system32\iphlpapi.dll
kernel32.dll C:\WINDOWS\system32\kernel32.dll
linkinfo.dll C:\WINDOWS\system32\linkinfo.dll
lz32.dll C:\WINDOWS\system32\lz32.dll
mlang.dll C:\WINDOWS\system32\mlang.dll
mobsync.dll C:\WINDOWS\system32\mobsync.dll
mpr.dll C:\WINDOWS\system32\mpr.dll
mprapi.dll C:\WINDOWS\system32\mprapi.dll
mprui.dll C:\WINDOWS\system32\mprui.dll
msasn1.dll C:\WINDOWS\system32\msasn1.dll
msgina.dll C:\WINDOWS\system32\msgina.dll
mshtml.dll C:\WINDOWS\system32\mshtml.dll
msi.dll C:\WINDOWS\system32\msi.dll
msimg32.dll C:\WINDOWS\system32\msimg32.dll
msls31.dll C:\WINDOWS\system32\msls31.dll
msoert2.dll C:\WINDOWS\system32\msoert2.dll
msrating.dll C:\WINDOWS\system32\msrating.dll
mssign32.dll C:\WINDOWS\system32\mssign32.dll
msvcp60.dll C:\WINDOWS\system32\msvcp60.dll
msvcrt.dll C:\WINDOWS\system32\msvcrt.dll
mswsock.dll C:\WINDOWS\system32\mswsock.dll
netapi32.dll C:\WINDOWS\system32\netapi32.dll
netcfgx.dll C:\WINDOWS\system32\netcfgx.dll
netman.dll C:\WINDOWS\system32\netman.dll
netplwiz.dll C:\WINDOWS\system32\netplwiz.dll
netrap.dll C:\WINDOWS\system32\netrap.dll
netshell.dll C:\WINDOWS\system32\netshell.dll
netui0.dll C:\WINDOWS\system32\netui0.dll
netui1.dll C:\WINDOWS\system32\netui1.dll
netui2.dll C:\WINDOWS\system32\netui2.dll
normaliz.dll C:\WINDOWS\system32\normaliz.dll
ntdll.dll C:\WINDOWS\system32\ntdll.dll
ntdsapi.dll C:\WINDOWS\system32\ntdsapi.dll
ntlanman.dll C:\WINDOWS\system32\ntlanman.dll
odbc32.dll C:\WINDOWS\system32\odbc32.dll
ole32.dll C:\WINDOWS\system32\ole32.dll
oleacc.dll C:\WINDOWS\system32\oleacc.dll
oleaut32.dll C:\WINDOWS\system32\oleaut32.dll
powrprof.dll C:\WINDOWS\system32\powrprof.dll
printui.dll C:\WINDOWS\system32\printui.dll
psapi.dll C:\WINDOWS\system32\psapi.dll
query.dll C:\WINDOWS\system32\query.dll
rasapi32.dll C:\WINDOWS\system32\rasapi32.dll
rasdlg.dll C:\WINDOWS\system32\rasdlg.dll
rasman.dll C:\WINDOWS\system32\rasman.dll
regapi.dll C:\WINDOWS\system32\regapi.dll
rpcrt4.dll C:\WINDOWS\system32\rpcrt4.dll
rtutils.dll C:\WINDOWS\system32\rtutils.dll
samlib.dll C:\WINDOWS\system32\samlib.dll
scecli.dll C:\WINDOWS\system32\scecli.dll
secur32.dll C:\WINDOWS\system32\secur32.dll
setupapi.dll C:\WINDOWS\system32\setupapi.dll
shdocvw.dll C:\WINDOWS\system32\shdocvw.dll
shell32.dll C:\WINDOWS\system32\shell32.dll
shlwapi.dll C:\WINDOWS\system32\shlwapi.dll
shsvcs.dll C:\WINDOWS\system32\shsvcs.dll
tapi32.dll C:\WINDOWS\system32\tapi32.dll
urlmon.dll C:\WINDOWS\system32\urlmon.dll
user32.dll C:\WINDOWS\system32\user32.dll
userenv.dll C:\WINDOWS\system32\userenv.dll
usp10.dll C:\WINDOWS\system32\usp10.dll
utildll.dll C:\WINDOWS\system32\utildll.dll
uxtheme.dll C:\WINDOWS\system32\uxtheme.dll
version.dll C:\WINDOWS\system32\version.dll
w32topl.dll C:\WINDOWS\system32\w32topl.dll
winhttp.dll C:\WINDOWS\system32\winhttp.dll
wininet.dll C:\WINDOWS\system32\wininet.dll
winmm.dll C:\WINDOWS\system32\winmm.dll
winscard.dll C:\WINDOWS\system32\winscard.dll
winspool.drv C:\WINDOWS\system32\winspool.drv
winsta.dll C:\WINDOWS\system32\winsta.dll
wintrust.dll C:\WINDOWS\system32\wintrust.dll
wldap32.dll C:\WINDOWS\system32\wldap32.dll
wmi.dll C:\WINDOWS\system32\wmi.dll
ws2_32.dll C:\WINDOWS\system32\ws2_32.dll
ws2help.dll C:\WINDOWS\system32\ws2help.dll
wtsapi32.dll C:\WINDOWS\system32\wtsapi32.dll
wzcdlg.dll C:\WINDOWS\system32\wzcdlg.dll
wzcsapi.dll C:\WINDOWS\system32\wzcsapi.dll
wzcsvc.dll C:\WINDOWS\system32\wzcsvc.dll
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/16/07 14:50

I have done some more searching and there seem to be many more developers with this problem. It's related to microsoft software, but they haven't released a fix yet.

Some questions:
Are you running IE 7 on any of your systems? What happens if you uninstal VC++2005 and IE 7 (if you where running it).
Are those missing dlls shown with an hourglass in dependency walker?
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/16/07 15:04

Yes both are installed. IE7 was already installed on the system when RakGS didn't worked. It began working after installing VC2005 (+SP1). If I now uninstall VC2005 again, guess the error will come back. Problem is that you will not get any message about which dll's are missing.

I loaded RakGS into PE Explorer from Heaventools to see it's dependencies.

What I'll do is:

Reinstall XP Home SP2 from image and apply updates for hardware. Then I will not install IE7 and VC2005. I will first look on the test system for missing files that are on the dependencies list here.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/16/07 15:09

Yes I expect the problem to come back when you uninstal VC++, but what happens if you then uninstal IE 7? Many similar problems on the internet seem to be related to IE 7. I can understand if it is too much work to uninstal IE 7 and VC++, but I'm just curious.
EDIT: just saw your edit. That would be great!

Does PE Explorer tell you what kind of dependency it is? Is it a load time dependency? If it doesn't tell you, could you check it in dependency walker ?

Also, what version of ws2_32.dll does PE Explorer tell you it depends on?
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/16/07 15:22

I'm not sure if PE Explorer supported that. I had only the trial installed. Dependency Walker seems freely available. Have downloaded it right now what should I do? There are many files with a hourglas and two files missing: (RakGS working)

DWMAPI.DLL
EFSADU.DLL

Winsock version:



Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/16/07 15:38

Do you mean that they are missing even on a system where RakGS works? Do those missing dlls show an hourglass in front of them?

EDIT: ok, they are indeed delay load dlls, thats good. But then the plugin should load even if they are not present. Is the above screenshot from a system where RakGS works or not?
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/16/07 15:44

The above is from a machine where RakGS works.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/17/07 13:10

What the [censored].

I've spent 3 days trying to fix this problem, just to find out that deinstalling "Service Pack 1" for VC++ does the trick.. The difference is that without SP1, it writes 2 bytes different in the manifest file. I can't believe microsoft is putting out such crappy software for their promotional products.

I've set up a test system where it didn't work without VC++ installed, and after recompiling without service pack 1, it works on that system as well.

You can download the updated version at the link in the first post.

Thanks again D3D for your time and patience helping me debug this.

On to RPCs now..
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/17/07 14:32

Good find Only I have to ask because it's little unclear to me. Did you mean when you said, `the compile worked without SP1 installed´ That the RakGS dll was compiled correctly, and this build runs on PC without VC/SP1 installed!?

In other words. Any programmer working on plugins for Lite-C could run into the same problem. In the case they have SP1 installed, compile a dll. And then have it distribute to end-user(s) who doesn't have VC/SP1 installed?

Also about those two missing files especially EFSADU.DLL (File Encryption is used by the Encrypted File System EFS. This is used for encrypting files or directories in Windows 2000 and above). You said they are belong to Windows XP Professional. Does this mean that encryption feature from RakGS is only available when the end-user is running Windows XP Pro? Sorry if I misunderstood.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/17/07 14:40

Yes you understand correctly. When you compile the plugin with VC++ Express SP1, it will not run on systems that don't have VC++ (SP1 or not) installed. If you compile with VC++ without SP1, it will work on every system.

This probably doesn't happen for every kind of program compiled with VC++ Express, or this would have been solved long ago. However, it might be that gamestudio plugins (which must have a certain compiler/linker configuration) all suffer from this problem.

More testing is required to see if a simple plugin (the sample dll that comes with the SDK for example) also has this problem when compiled with VC++ SP1.. If it does, this should make it into some FAQ.

BTW, could you confirm that it now works for you on a system without VC++ installed?
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/17/07 14:46

Yes sure i'm going to try again on a clean computer today and post the results.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/17/07 15:55

Just saw you edited your post, so here is my answer.

Quote:

Also about those two missing files especially EFSADU.DLL (File Encryption is used by the Encrypted File System EFS. This is used for encrypting files or directories in Windows 2000 and above). You said they are belong to Windows XP Professional. Does this mean that encryption feature from RakGS is only available when the end-user is running Windows XP Pro? Sorry if I misunderstood.



No, the encryption doesn't rely on EFSADU.dll. It got in the dependency list through ws2_32.dll. My project depends on winsock (ws2_32.dll), and winsock depends on many other dlls. Winsock or one of the dlls winsock depends on may have a line in them that loads a dll. But this line may be in a function that is never called, or inside an if like "if(running vista) dll_load(dwmapi.dll); else dll_load(whatever.dll);". This is enough for depends.exe to list it as a dependency but this is not an actual dependency and turned out to have nothing to do with the problem.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/17/07 18:04

Test from cleanslate:

XP Home SP2 NL + current security patches (excluding: IE7, .NET)
DirectX 9.0c June 2007 update
Nvidia Geforce7 International WHQL drivers May 2007
GameStudio A7.03 + SED 7.02.4
RakGS DLL <-- only inside RakGS directories (current build june 17th)
Dependency Walker

In the first test with the above installed. RakGS DLL isn't loading. Server crashed like before.

Acklog
Log of A7 Engine 7.03 run at Sun Jun 17 20:54:28 2007
Someone on Windows NT/2000/XP version 5.1 Build 2600
Options Server.c -diag

App C:\Program Files\GStudio7\acknex.exe in C:\MyGame\RakGS\Example\Server\
MM mixer opened
DSOUND device opened
DI interface opened
Start Window opened
© Conitec . Dieburg . San Diego . www.conitec.net
A7 Engine - Commercial Edition V7.03 - May 24 2007
Development version

Mouse found
SB Live!-waveapparaat opened
NVIDIA GeForce 7600 GT pure T&L device 1ff9 detected
D3D device NVIDIA GeForce 7600 GT 1ff9 selected..
Compiling SERVER.C... .... .
Running SERVER.C
2 objects
Main started
<--- server crashed --->

Dependecy Walker
Error: The Side-by-Side configuration information for "c:\mygame\rakgs\RAKGS.DLL" contains errors. De toepassing kan niet worden gestart omdat de configuratie van de toepassing onjuist is. Het opnieuw installeren van de toepassing kan dit probleem oplossen (14001).
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

EFSADU.DLL error opening file
MSJAVA.DLL error opening file
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/18/07 16:36

Okay I found the solution to this problem on wireshark forums. The end-user who doesn't have VC++ 2005 EE/STD/PRO on his/her computer, must have installed the Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) or x64 in case they have 64bit platform. Link to latest files here.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/18/07 16:52

Yea I had found that as well. But this means that an installation is required not only for the developer system, but also for every system the final application is deployed on. I'd rather have a copy-and-go solution.. To be honest, I think it's silly that microsoft has chosen to change their deployment policy. As far as I know, none of this trouble is needed for a VC++ .NET 2003 project. Just copy the plugin and you're done.

I'm looking into deployment using a private assembly right now but I believe this can't be done with VC++ Express..

BTW, did you test installing the vcredist package and using the plugin? I actually dismissed this solution because I don't like to require the user to install anything just for using a plugin.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/18/07 17:18

Yes, I installed it on the PC and RakGS worked again without problems. Maybe you can use another compiler or somehow silently install the vcredist on the end-user system? Needed to allow access to the registry a few times from firewall during the vcredist installation though.
Posted By: Andreas C

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/18/07 19:17

@Excessus,

I tried to download the RakGS RAR file, but get an error message (404 file not found).

Cheers,
Andreas
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/18/07 20:03

Yes I removed the download because it did not run on systems without VC++ installed. I've now uploaded a new version with the VC++ redistributable libraries included. The same download link applies.

Before using RakGS, you should instal the redistributable libraries included in the archive. This does not install visual C++, just the libraries. Any application built with the latest visual C++ must have that package installed.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/19/07 11:44

I've created a test plugin that links to the gamestudio library and to the RakNet library and compiled it with MinGW. Could you guys (D3D?) try it and let me know if it runs on your systems that don't run RakGS without installing the VC++ redistributable libs?

I have a system without VC++ or the VC++ redistributable libraries installed, and this new plugin runs there, but it gave a false positive before.. So I'm just making sure. If it works out, I'll port RakGS over to MinGW. However, it might very well not work because it still essentially has the same dependencies.

The plugin can be downloaded here.

Thanks
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/19/07 17:55

What do you mean with false positive? Anyways I tried the new plugin and here is the acklog. Looks like it works. RakGS and vcredist are removed.

Log of A7 Engine 7.03 run at Tue Jun 19 21:02:42 2007
Someone on Windows NT/2000/XP version 5.1 Build 2600
Options CBTEST.wdl -diag

App C:\Program Files\GStudio7\acknex.exe in C:\MyGame\testplugin\
MM mixer opened
DSOUND device opened
DI interface opened
Start Window opened
© Conitec . Dieburg . San Diego . www.conitec.net
A7 Engine - Commercial Edition V7.03 - May 24 2007
Development version

Mouse found
SB Live!-waveapparaat opened
NVIDIA GeForce 7600 GT pure T&L device 1ff9 detected
D3D device NVIDIA GeForce 7600 GT 1ff9 selected
Compiling CBTEST.WDL - [Esc] to abort....
CBTEST.dll opened
Running CBTEST.WDL
2 objects
D3D_Init Window: 640x480x32 -> Window: 1x640x480x32
Video memory found: 488 MB
Main started
Main loop..
Malfunction W1527: 50.......ok
1st frame - 499712K.. ok
Posted By: Raven75

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/19/07 19:15

It loads for me too. But I have the same Malfunction 50 Window, as you can see at log from D3D
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/19/07 19:18

Thanks! It looks like we've finaly got this solved. I hope porting RakGS to MinGW will be painless.

By "false positive" I meant that my other test system (without VC++/vcredist) did load my plugin under some circumstances while it should not have. The problem seemed to have been solved, while in fact the plugin still did not load on some systems.

Could you (just to be entirely sure this isn't because the vcredist wasn't uninstalled properly) verify that: running RakGS without installing vcredist fails?

That's hopefully the last thing I will need your help with, regarding this problem. Thanks!
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/19/07 19:27

Yes the vcredist was removed correctly. I had RakGS in a .rar archive and put it back for test. Now it crash the server again because it is missing the vcredist. This is a clean Windows XP SP2 system. With only the above installed.

Question. Am I supposed to learn RakGS with Lite-C or do I need to wait until you release new compiled beta in the near future? Also it will feature Lite-C not just C-Script right!?
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/19/07 19:32

Great! Thanks.

I'll release a MinGW compiled version on thursday. I've also started on RPCs and if there are no difficulties, I should be able to deliver an update on thursday or friday.

Quote:

It loads for me too. But I have the same Malfunction 50 Window, as you can see at log from D3D



Yes this is expected behaviour. I use that for output. The function that is in the plugin returns 50 and I use the error() function to output it. This means the test plugin (which is not RakGS!) works on your system.

Quote:

Question. Am I supposed to learn RakGS with Lite-C or do I need to wait until you release new compiled beta in the near future? Also it will feature Lite-C not just C-Script right!?



In fact, RakGS only works with Lite-C. You can start using the RakGS that is online right now, with the vcredist.exe. On thursday I'll release a version that doesn't require the vcredist, but it will be functionally equivalent to the current build. Then I'll release new versions with more functionality. I'm pretty sure it will be possible to keep the plugin backwards compatible.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/21/07 12:54

Ok I've successfully ported over to MinGW (using CodeBlocks as IDE). I'm not going to release it right now because there are some things to be fixed first. I'll release version 0.2 which includes fixes, some functions to make deserializing easyer, and remote procedure calls.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/26/07 09:53

I'm going on a trip to China (!!), I'm leaving in two hours. Unfortunately, I haven't been able to prepare a new release. I'll start working on this again in one month.

There is a bug in the current version. The SystemID returned to an event function is wrong (always 0) for the events: ID_DISCONNECTION_NOTIFICATION and ID_CONNECTION_LOST. This will be fixed.

In the next version: RAKGS_connect() will return a SystemID to the client we are connecting to. Installing the vcredist will no longer be necessary. Remote procedure calls will be implemented. More and more convenient serialization functions.
Posted By: Raven75

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 07/30/07 16:18

Hi Excessus, i hope you had a nice trip to china, and can continue on rakgs .
Maybe you can tell us if there is a release planned in the near future?

tnx
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 07/30/07 16:40

Hi Raven75,
Had a great trip and hope to continue work on RakGS soon. I'm currently doing a small payd programming job (should be done tomorow). I will continue RakGS development after that, but, since I will soon live on my own and I don't expect to make serious money with RakGS, I'm also looking for more payd work. So I cannot spend all my time on RakGS.

I don't remember exactly what's left to do before the new release is done. I think I just have to finish RPCs.
Posted By: D3D

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 08/06/07 08:01

Hope you get the time to work on it in the future. I still need to learn a lot to create something with RakNet (RakGS), but i'm looking forward into trying.
Posted By: Excessus

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 08/06/07 11:31

I'm currently doing some small programming jobs because I need money, that's why I haven't updated yet.

I've been aproached by a company who wants me to program a networked application for them using RakGS. The project should start in october, so I have untill then to add a few features they need (most notably voice chat). The good news for anyone still interested in RakGS is that this kinda guarantees further development and rigorous testing of RakGS.

Quote:

I still need to learn a lot to create something with RakNet (RakGS), but i'm looking forward into trying.



Great, give it a try! If you get stuck, I'll gladly help you out.
Posted By: Raven75

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 08/06/07 16:51

Nice to hear that, i´m very interessted in rackgs. so hope to hear some news soon
Posted By: Raven75

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 09/25/07 10:49

Hello Excessus, have you some news for us about RakGS?
greetz Raven75
Posted By: DSNDev

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 03/01/08 22:13

Great to see someone working on a much-needed tool for GS-A7. Nice tutorial also.
Posted By: Carlos3DGS

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 12/08/08 21:37

Are you still working on it?
Posted By: Valentin

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/02/09 09:42

Hey,I have GStudio A7 and when i compile something with SED says:
Mouse found
Realtek HD audio output opened
NVIDIA Ge force Go 7600 pure T&L device 1ff9 detected..
Compiling MAIN.C
Can`t compile MAIN.C
Startup failure - any key to abort
why?
give me answers please
Posted By: croman

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! - 06/02/09 09:49

no comment...
© 2024 lite-C Forums