Skip to content

Latest commit

 

History

History
224 lines (171 loc) · 8.54 KB

README.md

File metadata and controls

224 lines (171 loc) · 8.54 KB

SectorMaker Installation - Mac OSX (10.x)
Original version by Micki Kaufman (micki001@concentric.net)

Note: there is a Ubuntu version available by Chris Moynihan (forthekill at gmail.com, forthekill.com)

I. Installation

STEP ONE - Install Perl
Install Perl 5.

sudo apt-get install perl

STEP TWO - Install PDFTK 1.44
Install the Mac version of PDFTK, used for splitting, joining, compressing and overlaying PDF pages.

http://www.pdflabs.com/docs/install-pdftk/

STEP THREE - Install FONT-TTF
Install PDF-API2, a Perl resource for handling PDFs and fonts.

perl -MCPAN -e 'install Font::TTF'

STEP FOUR - Install PDF-API2
Install PDF-API2, a Perl resource for handling PDFs and fonts.

perl -MCPAN -e 'install PDF::API2'

STEP FIVE - Create The Output and Temp Folders
Create folders for the script to use, one for the final output and one for temporary files.

sudo mkdir /sectors

sudo mkdir /sectors/autogen

sudo chmod 777 /sectors/autogen

STEP SIX - Download and Unzip the SectorMaker Archive
Unzip the SectorMaker files from the archive. This will create a folder called SectorMakerScripts in that location.

unzip SectorMakerScripts.zip

cd SectorMakerScripts

STEP SEVEN - Copy all files into the CGI Executables Folder
Copy them to the apache directory.

sudo cp * /Library/WebServer/CGI-Executables

STEP EIGHT - Copy Custom Corefonts
Install the custom CoreFont fonts.

cd install/pdf-api2

sudo cp universbold.pm univers.pm optima.pm /opt/local/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont/

sudo cp CoreFont.pm /opt/local/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/

STEP NINE - Modify CoreFont.pm
Add the following line to line 224 of CoreFont.pm (/opt/local/lib/perl5/site_perl/5.12.3/PDF/API2/Resource/Font/CoreFont.pm)

univers universbold

STEP TEN - Install the New Fonts**
**
Install the required TrueType fonts (a few styles of Univers and Optima) into the fonts folder.

sudo cp Univers* Optima* /Library/Fonts/

STEP ELEVEN - Copy the Custom Binaries
Install the custom SW4 Traveller binaries into your computer's /usr/local/bin/ folder.

cd ./install/bin

sudo cp full-upp mapsub3 subsec2 gensec3 /usr/local/bin/

STEP TWELVE - Set the Script Permissions
Move to the cgi-bin directory and set the script permissions properly.

cd /Library/WebServer/CGI-Executables

sudo chmod ugo+x SectorMaker.cgi SectorMaker.sh BatchSectorMaker.sh

STEP THIRTEEN - Copy the Enscript Config Files
Copy the custom enscript files.

cd install/enscript

sudo cp enscript.cfg /usr/share/enscript/

sudo cp traveller*.hdr /usr/share/enscript/

II. Using the Scripts

Using the Scripts Via Command Line
To use the script from the command line, navigate to the /Library/WebServer/CGI-Executables folder and use the following syntax:
./SectorMaker.sh {sectorname} {density} {tech} {desc} {{secfile}} {{regen}}

To use the batch sector maker, navigate to the /var/www/cgi-bin folder and use the following syntax:
./BatchSectorMaker.sh {number of sectors} {tech} {desc}

Using the Scripts Via Web Browser
To use the script from a web browser, use the syntax for either of the two following URLs:

http://[servername]/cgi-bin/SectorMaker.cgi/sectorName.pdf?{sectorname}+{density}+{tech}+{desc}+{{secfile}}+{{regen}}
http://[servername]/cgi-bin/SectorMaker.cgi?{sectorname}+{density}+{tech}+{desc}+{{secfile}}+{{regen}}

The first URL will return a file called sectorName.pdf to the browser.
The second URL will return a file called SectorMaker.cgi to the browser, which is actually a PDF.

Parameters
{sectorname}
What you would like the name of the sector to be.

{density|zero,rift,sparse,scattered,dense, or Xx}
Determines the stellar density of the sector (avg. of worlds per subsector)
zero = 0% (No random worlds will be generated. A sectorName_names.txt file in /sectors/autogen must be present, which will be used for the world names and locations)
rift = 4% (~1-10)
sparse = 16% (~5-20)
scattered = 33% (~19-35)
dense = 66% (~40-62)
Xx = Xx% (Specify a number, from 0 to 100)

{tech|backwater,frontier,mature,cluster}
The general technology level of the sector, how well travelled it is

{desc|1,2,3}
Level of description for generated worlds
1 = UPP and Animal
2 = UPP only
3 = None

{secfile|sectorName.sec}
Pre-existing sector file name. Used if an existing set of files is available in /sectors/autogen (sectorName.sec, sectorName_route.txt, sectorName_alliances.txt)
Using this parameter renders the density and tech parameters irrelevant, although with the command line you need to put something for those as placeholders.

{regen|1,2,3}
Pre-existing regeneration options. Used only if a secfile is specified.
1 = Use pre-existing routes and borders (May generate additional routes and borders)
2 = Use pre-existing routes only (Will not generate additional routes, but it will generate new borders)
3 = Use pre-existing routes and borders only (Will not generate any new routes or borders)

Examples

./SectorMaker.sh Orion sparse mature 1
This will create Orion.pdf with 16% world density in the sector, at a mature tech level, and include UPP and Animal descriptions for each world.

./SectorMaker.sh Orion 20 mature 2
This will create Orion.pdf with 20% world density in the sector, at a mature tech level, and include UPP descriptions for each world.

./SectorMaker.sh Orion dense mature 3 Orion.sec 3
This will create Orion.pdf, ignoring the world density and tech level, and use the existing Orion.sec, Orion_route.txt, and Orion_alliances.txt files instead. The borders and routes will be used, and new ones may be added. The worlds will have no descriptions.

./SectorMaker.sh Orion zero mature 2
This will create Orion.pdf, but no randomly generated worlds will be created. If Orion_names.txt is present in /sectors/autogen it will use those worlds, and randomly generate routes borders and world descriptions. If it is not present, you will get an empty sector.# SectorMaker Elaborate CGI and Bash script for generating Traveller sectors and publishing them to PDF. Linux version.