Running two mods on one Windows 2003 server?
-
Thanks guys.
Cannon - many thanks!
I am trying your way to use the same User account for all servers, instead of using separate User accounts for each of the two (will try 3) FLServers. This is because our provider only allows us 2 user accounts without additional charges.
I installed the patch, but with confusion - in your readme.txt you say dasrvcom.ini - realise you mean dacomsrv.ini and added the acctpath_patch.dll after the other dlls (after shading.dll) in the Libraries section.
However the gls workaround patch is in dacom.ini - ??
Then you say:
“Configuration for the patch is stored in acctpath_patch.ini. Edit this specify the location of your data directory.”I guessed you mean the new path to the Accts folder (not the server’s “Freelancer\DATA” folder) but you don’t say to what level.
My folder structure is:-
D:\FLSERVERS\RRJDS282R3\Freelancer
D:\FLSERVERS\RRJDS282R3\Accts
D:\FLSERVERS\PLAINFLSDK13\Freelancer
D:\FLSERVERS\PLAINFLSDK13\Accts
D:\FLSERVERS\TNG276\Freelancer
D:\FLSERVERS\TNG276\AcctsAnyway whatever I put in the acctpath_patch.ini file as a path, even to the root of the Accts folder (D:\SERVERS\RRJDS282R3) or the full path (D:\SERVERS\RRJDS282R3\Accts\MultiPlayer), or anywhere between, FLServer is still using the old original game location for playerfiles and the old FLServer.cfg file (I didn’t remove them because that’s my live FLServer playerfiles! ), so the server name and server description are the old ones. When I change them it overwrites the old file and my original FLServer reads the same one again!
When I add the dll name to dacomsrv.ini the console output shows:
C:\work\builds\dalibs\dalibs-build\build\Src\DACOM\Dacom.cpp( 618 ) : NOTICE:General: DACOM: AddLibrary: DLL ‘D:\FLSERVERS\PLAINFLSDK13\Freelancer\EXE\shading.dll’ [1.11.173]
C:\work\builds\dalibs\dalibs-build\build\Src\DACOM\Dacom.cpp(612) : ERROR:General: DACOM: AddLibrary: unable to load dll ‘acctpath_patch.dll’, ignoring…When I add it to dacom.ini after or before the gls_workaround dlls there is no error message but the old original player and FLServer.cfg files are still being used.
So - where should it be, dacomsrv.ini or dacom.ini?
Should the new Accts folder and playerfiles already exist?
If they don’t will they be created in the new folder location as I expect a normal FL setup to do? They aren’t at the moment.
Should the path end with backslash (D:\SERVERS\RRJDS282R3\Accts) or without (D:\SERVERS\RRJDS282R3\Accts)?
Can you please tell me where I’m going wrong guys?
Still trying in the meantime.
By the way - yes I permitted the two new FLServer.exe sessions as exceptions in the firewall programs list, and used port 2302 for the first and 2304 for the second.
Many thanks, great going and will be over the moon when we get it sorted.
EDIT: - hours later it’s 05:05 now - tried every combination of putting it in dacom.ini or dacomsrv.ini and with many combinations of path - always the same, red errors if it is in dacomsrv.dll but no errors if in dacom.ini, but my original player and FLServer.cfg files are always being used. No new “Accts” folder is being created. I have tried all folder name steps with and without end backslash, from only “D:” to the full “D:\FLSERVERS\PLAINFLSDK13\Accts\Multiplayer”.
Wish you were more explicit Cannon old pal, would have saved me these long hours with a few more words and the correct file name to add it to. :-?
-
Side issue answers…
JKA <- some realy nice things like the OJP “open jedi project”… a server run by someone i trust would be awesome
Neverwinter… 1 or 2
Sauerbraten… could be fun… amongst modders
& finaly… DiabloII running “MedianXL” best D2 mod ever!!
All of the above encourage teamplay in one way or another & some semblance of community and have minimal overhead on most modern servers (& run on 2003)
chow
-
It is the “root” directory, so you want DataPath=D:\FLSERVERS\RRJDS282R3 and Accts will be created within it. It also wants the VC7 runtimes (msvcr71.dll & msvcp71.dll). It must go in dacomsvr.ini in order to patch common.dll used by the server; dacom.ini would patch the client.
-
Cannon, Adoxa - very many thanks, working like a dream on that part now, the msvcr71 and msvcp71 fixed it.
Thanks again, great work Cannon - I’m setting up the FL Shells and IFSO’s for each and I’ll update you so this topic is completed, and I’ll make a new readme for you too.
Xarian: good thoughts, where can I get a (free!) copy of any of your preferred game to try it out?
-
Hmm… only one that entirely free is Sauerbraten…
Strange game… when played with creative ppl. part FPS part realtime 3d constructor engine… very dynamic
The others can be found relatively cheap, and worthy of everyone’s Game collection (classics)
-
I have now set up and run three FL Server sessions simultaneously but not sucessfully online.
Server 1:- Plain FL 1.1 with SK1.3 (PLAINFLSDK13) - Port 2304
Server 2:- RRJDS 2.82 Mod R3 (RRJDS282R3) - Port 2306
Server 3:- TNG 2.76 Mod (TNG276) - Port 2308Current Problems:
1. None is visible on the Internet despite the gls workaround patches. Both crazy’s fllistserver and the libcurl.dll/gls_workaround.dll are installed on each FLServer, like I did with the original mod I am running which is still fine. I have listed each of them as an exception in the firewall setup.2. Ioncross FL Server Operator is installed for each and set up, but only the first one (any) starts its FL Server session. The second and third Server Ops do nothing because it seems that they cannot identify that the running FL Server is not their own. And they cannot latch on to the right one if I start the other two manually. Only the first one is fine.
Problem 1 - This must still be a firewall problem as the original is still fine, I will investigate that asap.
On the gls workaround - as I mentioned I am using both, is this correct or overkill? Which one should I use if only one?
Problem 2 - Is there a straightforward solution for this one? Our needs are fairly simple, we need to be able to have monitoring and autorestart if the session crashes, and move characters if necessary, and be able to rename them for tagging or events or to remove offensive names without deleting players.
We don’t do any editing to give special equipment or ships because we don’t like to give advantage, everything in our mods is available to all players.
FLHook is probably too complex for what we need?
How do you guys control yours?
I am wondering if I can hack each Ioncross .exe file separately to change the default name of FLServer.exe to for example PlainFLServer.exe, R282Server.exe, TNGServer.exe and change the FLServer.exe’s to the same name for each session? Then each Server Op may look for its own FLServer filename?
If I am way off track, how do you run your own setups that work well and easily? I will follow your methods so we don’t waste too much time.
Thanks for your help!
-
Look please:
start - [run] - cmd
netstat -an | more
What ports are open? Search any of your server ports.
-
Good tip Helloween, works nicely, thanks!
The correct ports are open.
I think that the problem is that the new servers are not listed on the fllstserver so they don’t show.
When I use the direct connect (-sip.ip.ip.ip:port) I can see them in my list (one at a time) and connect and play on the two I tried (I don’t have the TNG mod on my PC to try the 3rd)! Hooray!
EDIT:- Just found how to get the new FLServers registered on the fllistserver and did it.
After that I just need to have a server op that works on all three or can have 3 instances and works?
I looked in Ioncross.exe for the fixed FLServer.exe name but couldn’t find one that looked right to hack, and changing the name of FLServer.exe results in an error and stops it from starting up fully.
What do you use to control yours guys?
-
DsProcess Manager 2.2 - little buggy, restarts server when it is not really needed
Cd 1.32 - may have only one instance for work ;(
Program starts very slooooooow and do server restart slow toooooooo
If you do hex edit to change name of lock file like cd.loc2 you may run second instance - but firewall filter driver will not work
Sometimes frozens permanently!Biocross - will try soon after physical server restart, SQL Express already installed
DSAccount Manager (DAM) only one 100% ideal tool, but not for server managers ;(
So for me at the moment CD 1.32+DAM is good symbiosis.
-
Cannon: as promised - the updated zip for you, please double-check before taking it as gospel. I have included the runtime files in the zip and given a fuller explanation of how to install the patch. Many thanks for the patch, it’s great.
OK, now working on finding a Server controller that will work on 3 FLServer sessions…
-
@StarTrader: thanks! i’ll put this over on the forge so it doesn’t get lost.
We run multiple copies of DSProcessManager each looking after one copy of FLServer. You need to change the Freelancer EXE path in the DSPM settings to point to each copy. DSPM is not perfect though; if one FLServer crashes, it’ll restart the others. I’ll check that the latest copy is on the forge - I might not have put it there.
DSAccountManager does seem to manage multiple FLServer copies okay. You do need to run flhook though (this really isn’t hard!).
If you’re able to temporarily give me remote desktop access, I could set it up for you…just a thought.
-
Sorry, just saw your reply Cannon.
Having some problems at the moment, only 1 session shows in the Server List after I registered all 3 sessions at http://www.flserver.de/add_server.php
Not sure what to do, am contacting Crazy to see if it’s a problem he can fix and I’ll get back to you once we can see all 3 FL Server sessions?
Or do you have an idea what might be wrong?
-
There are two possibilities I can think of:
-
Manually put each FL onto a different port. For example the main server is on the default 2302 port but the event server is on 2304.I do this by setting the command line arguments field in DSPM to “/c /p2302” for the first and “/c /p2304” for the second copy.
-
Make sure that you’re using a unique Accts directory for each copy so that FL generates a unique server ID. The server ID is stored in the Accts/Multiplayer directory and if it is the same for both you will get the symptoms you describe.
An alternative option:
- Run something like VMWare Server or VirtualBox and put each copy of Freelancer in its own virtual machine. I do this for our test server.
-
-
Good idea about VMWare, it’s free and I’ll take a look - but I don’t know if our provider will allow us to install it on the server though.
Yes I did allocate different ports for each session, and I can direct connect to each of them, but only 1 session appears in the Server List - port 2306, I think it’s the last one I registered.
Whichever session I start on port 2306 shows, the others on ports 2302, 2304, 2308 do not show up.
I think it’s because the server registration php script probably overwrites the previous server IP and port if the IP is the same, instead of adding the new one?
I’ve sent a PM to Crazy here, hope he gets it soon.
EDIT: VMWare Server is free but they ask a whole ream of questions and I don’t want to give all that info.
But Sun’s latest release of VirtualBox 3.2.8 is free and looks great, and is small, and no quizzes! Nice.
-
Not Sun’s - Oracle’s
-
Yep, Oracle bought Sun - amazing.
-
Hi guys.
OK our server is back again.
I removed the gls workaround patch leaving only Cazy’s gun.fllistserver.com patch in each session, as it should be automatic?
Each session’s name is different, starting with " RRJDS" and then the mod name and “- port 230x” in the server session name.
I started all 3 FL Server sessions simultaneously:
FL 1.1 on port 2304,
RRJDS 2.82r3 on port 2306 and
TNG 2.76 on port 2308.Checked on our server - all ports are passed by the firewall OK (as seen with “netstat -an”).
Ran Freelancer client - only RRJDS 2.82r3 showed up in the server list.
Stopped it and tried each mod in turn on port 2306 - each one showed up alone.
Tried RRJDS 282r3 on each port 2302, 2304, 2306, 2308 - only shows when on port 2306.
Tried Plain FL and TNG on ports 2302, 2304, 2306, 2308 - each one only shows when on port 2306.
Any help please?
I have now also tried to re-register all the ports on http://www.flserver.de/add_server.php
Thanks guys.
-
What is your internet connection? Direct or through device (router /modem/firewall)?
-
Firewalled, see above - I used your tip on ‘netstat -an’ and all ports show open when all three sessions are running.
It just seems only port 2306 is getting onto the List Server?
But:-
When I use Direct connect (freelancer.exe -s209.25.178.120:230x) where x is the port, and keep the visible session running too, I can see only one entry in the Server List, and the name alternates between the two FL Server names!When I put in all 3 of the server IPs and ports in (freelancer.exe -s209.25.178.120:2304 -s209.25.178.120:2306 -s209.25.178.120:2308 ), there is still only 1 entry in the Server List, but the name alternates between all 3 server names! Other servers show one entry per server.
???
-
We had a similar issue with a live server and test server running on separate physical hardware in separate physical data centres.
The person who tried copying the player account files across also copied the accounts.cfg file (if I recall correctly) over and the “last server loaded” of the two servers was the one shown in list server as far as I could tell, meaning that our live server was blocked from appearing.
Perhaps similar issue? Have you used the same accounts.cfg (or other cfg) file?
-Alpha