[Posting] Re: Offline PHost game hosting package
From:James T. Plagerism
Thread:Offline PHost game hosting package
Forum:Planets
In reply to:Re: Offline PHost game hosting package
Date:Sun, 2025-11-16 00:13 GMT

Documenting (mostly for my own reference) what I've done (Win11-64).
All directory references are abbreviated.
Initially following instructions from https://phost.de/phost4doc/hosting.html

  1. Download PHost (Win32) from https://planetscentral.com/download/index.cgi/host/phost/4.1h
    Unzip to /phost/

  2. Create game subdir /phost/game01/

  3. Copy /phost/config/complete.src /phost/game01/pconfig.src
    (edit as desired)

  4. Download PList 3.2 from https://planetscentral.com/host/file.cgi/shiplist/plist-3.2/
    Copy shiplist.txt /phost/game01/shiplist.txt
    Also extract the rest of the PList3.2 .dat files (beamspec.dat, engspec.dat, hullfunc.dat, hullspec.dat, torpspec.dat, truehull.dat) to /phost/game01/

  5. Download AMaster v3.10g from https://phost.de/~vagabond/tools/#amaster
    Unzip to /phost/amaster/

  6. Copy /phost/amaster/dos/config/amaster.src /phost/game01/amaster.src

  7. Launch DOSbox
    Run /phost/amaster/dos/bin/amaster -v to make sure it's working
    Get stuck with error message Load error: no DPMI - Get cdspmi*b.zip
    After some searching find csdpmi7b.zip
    Extract \bin\CWSDPMI.EXE from zip to /phost/amaster/
    Run CWSDPMI.EXE
    Run amaster.exe -v again, more success this time, but complaint about Warning: cannot open swap file c:\cwsdpmi.swp
    MOUNT C: U:\ to map DOSbox C: to my ramdrive
    Run amaster.exe -v again again, no errors.

  8. Copy planet.nm and race.nm from another game to /phost/game01/

  9. Edit /phost/game01/amaster.src change RaceIsPlaying to enable all 11 races (default is Player1-only).

  10. Run amaster -t -d ../../../game01/
    Seems to run ok, only thing I notice at the top of amaster.log is

    Create universe for PHOST4 game...
    Reading file : pconfig.src, section : %PCONFIG
    Reading file : amaster.src, section : %AMASTER
    Warning: Those parameters were not read from config file.
    Warning: Setting them to default values.

    Not quite sure what that warning is saying, since apparently it does find and read at least amaster.src in the game directory.

  11. Exit DOSbox

  12. Run /phost/phost.exe -r ./game01
    to test in read-only mode

  13. Despite using /phost/config/complete.src there's a bunch of combat-related settings that default commented-out in pconfig.src leading to lots of WARNING: pconfig.src: default value used: messages:

    WARNING: pconfig.src: default value used: 'AllowEngineShieldBonus = False'
    WARNING: pconfig.src: default value used: 'BayRechargeRate = 52'
    WARNING: pconfig.src: default value used: 'BayRechargeBonus = 2'
    WARNING: pconfig.src: default value used: 'BeamRechargeRate = 8'
    WARNING: pconfig.src: default value used: 'BeamRechargeBonus = 0'
    WARNING: pconfig.src: default value used: 'TubeRechargeRate = 45'
    WARNING: pconfig.src: default value used: 'BeamHitFighterCharge = 500'
    WARNING: pconfig.src: default value used: 'BeamHitShipCharge = 600'
    WARNING: pconfig.src: default value used: 'TorpFiringRange = 30000'
    WARNING: pconfig.src: default value used: 'BeamFiringRange = 20000'
    WARNING: pconfig.src: default value used: 'TorpHitOdds = 65'
    WARNING: pconfig.src: default value used: 'BeamHitOdds = 100'
    WARNING: pconfig.src: default value used: 'BeamHitBonus = 0'
    WARNING: pconfig.src: default value used: 'StrikesPerFighter = 7'
    WARNING: pconfig.src: default value used: 'FighterKillOdds = 20'
    WARNING: pconfig.src: default value used: 'FighterBeamExplosive = 2'
    WARNING: pconfig.src: default value used: 'FighterBeamKill = 2'
    WARNING: pconfig.src: default value used: 'ShipMovementSpeed = 75'
    WARNING: pconfig.src: default value used: 'FighterMovementSpeed = 235'
    WARNING: pconfig.src: default value used: 'BayLaunchInterval = 3'
    WARNING: pconfig.src: default value used: 'MaxFightersLaunched = 19'
    WARNING: pconfig.src: default value used: 'AllowAlternativeCombat = No'
    WARNING: pconfig.src: default value used: 'StandoffDistance = 3000'
    WARNING: pconfig.src: default value used: 'PlanetsHaveTubes = No'
    WARNING: pconfig.src: default value used: 'FireOnAttackFighters = No'
    WARNING: pconfig.src: default value used: 'TorpHitBonus = 0'
    WARNING: pconfig.src: default value used: 'TubeRechargeBonus = 0'
    WARNING: pconfig.src: default value used: 'ShieldDamageScaling = 80'
    WARNING: pconfig.src: default value used: 'HullDamageScaling = 80'
    WARNING: pconfig.src: default value used: 'CrewKillScaling = 80'
    WARNING: pconfig.src: default value used: 'ShieldKillScaling = 0'
    WARNING: pconfig.src: default value used: 'ExtraFighterBays = 3,0,0,0,0,0,0,0,0,0,0'
    WARNING: pconfig.src: default value used: 'BeamHitFighterRange = 100000'
    WARNING: pconfig.src: default value used: 'FighterFiringRange = 3000'
  14. There is a default wormholes.txt in the PHost distribution, but at quick glance it seems to contain two hardcoded wormholes as an example. Is there some kind of utility that generates/randomizes wormhole locations? It wouldn't be hard to script something up if there isn't, but I would have thought there was something already available for this?

I also noticed significant differences in the default values between /phost/config/complete.src and /phost/config/simple.src
Best illustrated with an online diff tool: https://www.diffchecker.com/G2zeHj1g/
Obviously there's lots of stuff missing from simple.src but there are several things that are toggled differently by default, a few significant examples:
CPEnableRemote, RoundGravityWells, AllowNoFuelMovement, CloakFailureRate, etc, etc. These kind of settings significantly change how a game plays out and I would have thought that PHost would provide consistent default no matter whether you select simple or complete.