Are you, in fact, a pregnant lady who lives in the apartment next door to Superdeath's parents? - Commodore

Create an account  

 
Civ4 Realism Invictus Pitboss Game

45, I am busy today but will post on civfanatics tomorrow and share my thoughts.
Reply

(May 28th, 2023, 03:44)Gavagai Wrote: 45, I am busy today but will post on civfanatics tomorrow and share my thoughts.


Great, no worries, we're not in a hurry smile
Reply

(May 27th, 2023, 16:36)Ramkhamhaeng Wrote:
Quote:In order to speed up the file transfer, the game must be started with an ALTROOT shortcut; if you don't know what it is, it's just a folder you have to create where CivilizationIV.ini will be stored (and savegames, but these will be handled anyway by my server). You can set this folder (see next point) so that you don't have to mess with your default installation of civ4 or other mods you might have, both for singleplayer or multiplayer.

I want note that the ALTROOT-Param is not needed on the client/player side. It is needed for the Pitboss for several reason, e.g. for encoding the HOST-IP/URL information into a network packet. This will be used to evaluate the download path for the fast file transfer (BTS_Wrapper).

Please note that using the ALTROOT argument as normal player/client has one big drawback:
Civ4 will move (not copy!) the content of the normal root (My Documents\My Games\Beyond the Sword) to the given new path.
If you starting the game after this without the ALTROOT-Argument you will wonder where your (single player) saves and world builder files are.

Now that I think about it: is the port argument necessary on the cliente side if playing on a Virtual LAN? It probably isn't, I think, but I'm not entirely sure. I tested with a couple of pc connected to my server on the same LAN, and they connect even if I don't add a port argumento to the wrapper. I also tested on a laptop connected to the same Virtual LAN but through my mobile hotspot, so it's not on the same physical LAN and it seems to work too. Am I right that I only need to add the port argument to the wrapper only if players are not on the same lan (physical or virtual)?
Reply

With -P—Argument the Wrapper will share the Saves on this port if a client connects. It was developed for fast logins in normal MP games and only the host needs to enable it. It could still be useful to enable it for all players, e.g. if you do not know who will host it or to let the host re-join after a connection loss. But this are rare cases I assume…

Players can use the same port, if the're on different machines, but you has to select another port as Civ4. Example: Civ4 uses its (default) port 2056+X (connection to joining player X, X=0,1,2…) and the wrapper 2055.

An other use case for the -P—Argument would be a start of the Pitboss-exe with the wrapper: BTS_Wrapper.exe {Pitboss-Binary-Name} {Args} …
Then, you do not need to encode the ip/url in the altroot directory name and do not need to setup an external webserver to share the save games. (Wrapper will use libmicrohttpd.dll)

I do not use this variant on my own because the -P-stuff was developed years after the other, good working, solution and our PB-Servers running on a linux machine. smile
Reply

(May 28th, 2023, 14:07)Ramkhamhaeng Wrote: With -P—Argument the Wrapper will share the Saves on this port if a client connects. It was developed for fast logins in normal MP games and only the host needs to enable it. It could still be useful to enable it for all players, e.g. if you do not know who will host it or to let the host re-join after a connection loss. But this are rare cases I assume…

Players can use the same port, if the're on different machines, but you has to select another port as Civ4. Example: Civ4 uses its (default) port 2056+X (connection to joining player X, X=0,1,2…) and the wrapper 2055.

An other use case for the -P—Argument would be a start of the Pitboss-exe with the wrapper: BTS_Wrapper.exe {Pitboss-Binary-Name} {Args} …
Then, you do not need to encode the ip/url in the altroot directory name and do not need to setup an external webserver to share the save games. (Wrapper will use libmicrohttpd.dll)

I do not use this variant on my own because the -P-stuff was developed years after the other, good working, solution and our PB-Servers running on a linux machine.  smile

I didn't know you could use the wrapper with the pitboss exe!! Thanks again Ramkhamhaeng, I will try this solution too as it looks much easier!
Reply

(May 28th, 2023, 14:58)45°38'N-13°47'E Wrote: I didn't know you could use the wrapper with the pitboss exe!! Thanks again Ramkhamhaeng, I will try this solution too as it looks much easier!

Oh, let me test it before. smile

P.S. Without any interaction by me, my Win10 System has changed its behavior. It warns me at the first start of the Wrapper (Software from unknown source) and it also not creating a log anymore.
A few minutes later, Windows increases the restriction and I can not start the program anymore.

Edit: Turns out that Windows tracks the origin of a binary?! If if use the Wrapper from the Github pre-release, Windows warns me. If I copy the (binary exact file used for the Github-version) from my local build, it works. crazyeye
Reply

Well, I made a tiny error in the latest Wrapper version which prevents -P from working. :-(
A fixed version can be found here: https://github.com/civ4-mp/save-over-htt...ease_v11.3

I can confirm that it also works with Pitboss:
Code:
Start of PBServer:
BTS_Wrapper.exe Civ4BeyondSword_PitBoss_Zulan.exe "mod= "PBMod_v10"\\\"" /ALTROOT="D:\PBs\PB1"  -P 2054 -l BTS_Wrapper.pb.log

Start of Client:
BTS_Wrapper.exe mod= "PBMod_v10"\" -l BTS_Wrapper.client1.log -P 2055

Maybe an other useful information for you: smile
Civ4BeyondSword_PitBoss_Zulan.exe is like Civ4BeyondSword_PitBoss.exe, but we replaced all occurrences of the substring 'gamespy.com' by 'g.zulan.net'.
Without this fix the startup of the Pitboss Setup Wizard is very slow because the program requests 'http://motd.gamespy.com/motd/vercheck.asp' and this request timed out.
Reply

might be interested in this as well, been playing a bit of RI and got up to bashing my head against titan/diety starts so I hopefully get it enough to hang in a chill MP game lmao
Reply

(May 29th, 2023, 16:10)Ramkhamhaeng Wrote: Well, I made a tiny error in the latest Wrapper version which prevents -P from working. :-(
A fixed version can be found here: https://github.com/civ4-mp/save-over-htt...ease_v11.3

I can confirm that it also works with Pitboss:
Code:
Start of PBServer:
BTS_Wrapper.exe Civ4BeyondSword_PitBoss_Zulan.exe "mod= "PBMod_v10"\\\"" /ALTROOT="D:\PBs\PB1"  -P 2054 -l BTS_Wrapper.pb.log

Start of Client:
BTS_Wrapper.exe mod= "PBMod_v10"\" -l BTS_Wrapper.client1.log -P 2055

Maybe an other useful information for you: smile
Civ4BeyondSword_PitBoss_Zulan.exe is like Civ4BeyondSword_PitBoss.exe, but we replaced all occurrences of the substring 'gamespy.com' by 'g.zulan.net'.
Without this fix the startup of the Pitboss Setup Wizard is very slow because the program requests 'http://motd.gamespy.com/motd/vercheck.asp' and this request timed out.

Thanks Ramk, I'm already using the new pitboss exe; and thanks for fixing that issue and letting me know about the Wrapper/Pitboss exe hint. "My" solution was writing a small python program which starts/stops the server under Windows, starts the pitboss exe and allows to automatically send emails to players when a new turn has started; it can also start more servers and use different virtual networks. I never coded in python although I have some dll coding experience, but that ChatGPT thing has been VERY useful for coding this little program and it works like a charm. Using your Wrapper for the pitboss exe seems much easier though. Thanks again.
Reply

(May 29th, 2023, 16:55)fireblaze Wrote: might be interested in this as well, been playing a bit of RI and got up to bashing my head against titan/diety starts so I hopefully get it enough to hang in a chill MP game lmao

Good, if you're on civfanatics as well, here we are: https://forums.civfanatics.com/threads/r...me.683833/
We're thinking about using a dedicated discord: https://discord.gg/57RY7sjb
Reply



Forum Jump: