Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 1,187 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 6 1 2 3 4 5 6
Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: Excessus] #135715
06/12/07 19:51
06/12/07 19:51
Joined: Mar 2003
Posts: 5,377
USofA
fastlane69 Offline
Senior Expert
fastlane69  Offline
Senior Expert

Joined: Mar 2003
Posts: 5,377
USofA
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!

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: fastlane69] #135716
06/12/07 21:34
06/12/07 21:34
Joined: Apr 2006
Posts: 1,551
Netherlands
D3D Offline
Serious User
D3D  Offline
Serious User

Joined: Apr 2006
Posts: 1,551
Netherlands
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.


smile
Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: Excessus] #135717
06/13/07 04:41
06/13/07 04:41
Joined: Aug 2001
Posts: 2,320
Alberta, Canada
William Offline
Expert
William  Offline
Expert

Joined: Aug 2001
Posts: 2,320
Alberta, Canada
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.


Check out Silas. www.kartsilas.com

Hear my band Finding Fire - www.myspace.com/findingfire

Daily dev updates - http://kartsilas.blogspot.com/
Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: D3D] #135718
06/13/07 21:34
06/13/07 21:34
Joined: Jan 2004
Posts: 2,013
The Netherlands
E
Excessus Offline OP
Expert
Excessus  Offline OP
Expert
E

Joined: Jan 2004
Posts: 2,013
The Netherlands
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?

Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: Excessus] #135719
06/14/07 08:42
06/14/07 08:42
Joined: Apr 2006
Posts: 1,551
Netherlands
D3D Offline
Serious User
D3D  Offline
Serious User

Joined: Apr 2006
Posts: 1,551
Netherlands
@ 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


smile
Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: D3D] #135720
06/14/07 12:25
06/14/07 12:25
Joined: Jan 2004
Posts: 2,013
The Netherlands
E
Excessus Offline OP
Expert
Excessus  Offline OP
Expert
E

Joined: Jan 2004
Posts: 2,013
The Netherlands
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.

Last edited by Excessus; 06/14/07 13:59.
Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: Excessus] #135721
06/14/07 14:36
06/14/07 14:36
Joined: Apr 2006
Posts: 1,551
Netherlands
D3D Offline
Serious User
D3D  Offline
Serious User

Joined: Apr 2006
Posts: 1,551
Netherlands
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


smile
Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: D3D] #135722
06/14/07 15:11
06/14/07 15:11
Joined: Jan 2004
Posts: 2,013
The Netherlands
E
Excessus Offline OP
Expert
Excessus  Offline OP
Expert
E

Joined: Jan 2004
Posts: 2,013
The Netherlands
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.

Last edited by Excessus; 06/14/07 15:13.
Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: Excessus] #135723
06/14/07 16:06
06/14/07 16:06
Joined: Apr 2006
Posts: 1,551
Netherlands
D3D Offline
Serious User
D3D  Offline
Serious User

Joined: Apr 2006
Posts: 1,551
Netherlands
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.


smile
Re: RakGS 0.1 Beta - RakNet for A7 / Lite-C! [Re: D3D] #135724
06/14/07 16:28
06/14/07 16:28
Joined: Jan 2004
Posts: 2,013
The Netherlands
E
Excessus Offline OP
Expert
Excessus  Offline OP
Expert
E

Joined: Jan 2004
Posts: 2,013
The Netherlands
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.

Page 2 of 6 1 2 3 4 5 6

Moderated by  HeelX, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1