Game Development Community

Beta 2 Dedicated server for Linux

by elvince · in Torque 3D Professional · 02/18/2010 (2:30 pm) · 54 replies

Hi,

it has been said that a huge work have been done on this part in Beta1.

Can someone do a quick guide/explanation on how to compile T3D in dedicated server for Linux?

Thanks in advance!
Page«First 1 2 3 Next»
#41
11/16/2010 (10:20 am)
I made some success connecting to the server. What I found out:

In Debug:

1.) assert in String::String
the read len from stream is sometimes lower then the "real" len.

2.) In advanced lighting, setNumSplits gets a very high value
PSSMLightShadowMap::_setNumSplits() - Splits must be between 1 and 4!

3.) It only connects on the 2nd attempt:
Resource<TerrainFile>::create - could not open 'art/terrains/EmptyTerrain_0.terransform'

-----
In Release:

Connect works on first attempt, but only in basic lighting. I guess crash comes from PSSMLightShadowMap.

#42
11/17/2010 (8:48 am)
I will make my test in during this week.

@Banks,
Thanks for the steps & patches.
Did you noticed the same type of bug as Thomas?

@Thomas,
Thanks for the feedback.
Does you test is based on stock source or modified source?

@GG,
Thanks for the fix you put in it to make this happened. This is clearly a excellent news to be able to target linux server for multiplayer.
#43
11/17/2010 (9:01 am)
I tested on fresh installed Beta 3 without any modification.

Edit: I used the simple "Empty Terrain" map. Only removed the blank and renamed it to "emtpy.mis".
#44
11/17/2010 (9:29 am)
Strange.
I've used stock Full template (with my patch applied), and I was able to connect from Windows to Linux dedicated server without any problems, and there was no errors.

My steps:
git checkout -b linux_test2 950409c467c3095f806986a5199f0b28d916d4db
(checkout T3D 1.1 B3, so I have a stock version)
git apply T3D11_B3_linux_dedicated.patch
cd Templates/Full
./generateProjects.command
cd buildFiles/Make_Ded
make debug
cd ../../game/levels/
cp "Empty Terrain.mis" EmptyTerrain.mis
cd ..
./Full_DEBUG -dedicated -mission levels/EmptyTerrain.mis
Client built with W7/VS2008.
function doConnect()
{
   %conn = new GameConnection(ServerConnection);
   %conn.setConnectArgs("TestFromWindows1");
   %conn.setJoinPassword("");
   %conn.connect("192.168.235.105:28000");
}
Started the Full_Debug.exe, in console: "doConnect();", and I've successfully joined the server with all settings set to Highest.
Copied to another folder, set everything to "Lowest" (to use basic) - and joined the server.
So, I have two clients (Adv/Basic) running at the same time on one server. I can shoot, run and everything running smooth.

I'm going to run public server - I'll post additionally after everything is setup, so you can join the server from your Windows client.
#45
11/17/2010 (9:43 am)
T3D 1.1 B3 Linux Dedicated servers are up and running.

To connect, use:
Release: 89.179.247.196:29300
Debug: 89.179.247.196:29301
#46
11/17/2010 (9:46 am)
Note: when i wrote debug/release in prior post i only meant the client, server was running as release.


Edit:
@bank I just tested on your server same result. Basic lighting = ok, Adv lighting = crash. Using stock Full.exe.
I guess the B3 Code from git repository is slightly different to the shipped B3.

Edit2:
Console Log says nothing special:
==>doConnect();
Adding a pending connection
Sending Connect challenge Request
Got Connect challenge Response
Sending Connect Request
Connection established 8688
Mapping string: ServerMessage to index: 0
Mapping string: MsgConnectionError to index: 1
Mapping string: MsgLoadInfo to index: 2
Mapping string: MsgLoadDescripition to index: 3
Mapping string: MsgLoadInfoDone to index: 4
Mapping string: MsgClientJoin to index: 5
Mapping string: Welcome to the Torque demo app %1. to index: 6
Mapping string: tomhere to index: 7
Mapping string: MissionStartPhase1 to index: 8
*** New Mission: levels/EmptyTerrain.mis
*** Phase 1: Download Datablocks & Targets
Validation required for shape: art/shapes/actors/Gideon/gideon.dts
Validation required for shape: art/shapes/actors/Gideon/gideon.dts
Mapping string: MissionStartPhase2 to index: 9
*** Phase 2: Download Ghost Objects
Mapping string: MissionStartPhase3 to index: 10
Client Replication Startup has Happened!
fxFoliageReplicator - replicated client foliage for 0 objects
*** Phase 3: Mission Lighting
Mission lighting done
Mapping string: MissionStart to index: 11
Mapping string: SyncClock to index: 12
Mapping string: RefreshWeaponHud to index: 13
Mapping string: swarmer.png to index: 14
Mapping string: reticle_rocketlauncher to index: 15
Mapping string: setNumericalHealthHUD to index: 16
#47
11/17/2010 (10:54 am)
I did some initial test.

1/ Run full.exe directly on the 2 linux Servers
Connect is ok
Loading is ok
End of loading => Crash. For basic & adv lighting

2/ Run Myproject full template
Connect failed: Connection Error; Please try another server Error code :(CHR_GAME)
What I don't get it's why I don't have the same behavior as this projects is more or less just a copy of full template :(

I will try other test later, but that may help.

Just in case, the source I'm running are not patched as I suppose only the server need the patch.
#48
11/17/2010 (11:00 am)
About the CHR_GAME error:

Change the TORQUE_APP_NAME to

#define TORQUE_APP_NAME "Full"

in torqueConfig.h


Edit: Eeep maybe the client must be also patched ... there are some changes in lighting ... didn't do that will try it out.
#49
11/17/2010 (11:40 am)
Finally. Yes the client must be also patched.

I removed the Assert

AssertFatal(len<=dStrlen(str), "String::String: string too short");

in String::String on the client and everything seams to work now :)
#50
11/17/2010 (12:05 pm)
The client should be patched too.
Sorry, forgot to mention it.
#51
11/17/2010 (4:12 pm)
That's great, I will test that shortly.

It's strange you have to remove this:
AssertFatal(len<=dStrlen(str), "String::String: string too short");

I will see if I have the same error.

Do you know a quick way to move Git patch to Svn Patch?
#52
11/19/2010 (9:42 am)
I've posted a resource: Torque 3D 1.1 Beta 3 Linux Patch
It includes both - the SVN and GIT patch files.
The patch files are includes the "missing" config files, so the resource needs to be applied to totally clean Beta3 installation.
#53
11/23/2010 (8:36 am)
I'm nor familiar with all those conf file and tpl.
I understand that their role is to create the Sln file or the make file depending of the system.
But how do you add a new projects dependency like libCurl?

I understand I have to edit the linux dedicated conf & T3D conf, but it seems that I need also some "module".inc file and lib.conf file.
How should I create them? I saw in it there is a key like {719523DB-7C6B-416B-B68D-B2579477239B}, where should I find it?
Thanks,
#54
11/23/2010 (2:19 pm)
ok I manage to get it working and compile.

For the key, I put a random one different of the others but if someone can confirm whether or not the approach is ok I will be glad.
thanks,
Page«First 1 2 3 Next»