• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.

Web-based Automatic Sector Data / Map pdf Generator

I asked as well - let's see what Joshua shares


And Flynn - if you downloaded the LBB pdf I made for you, you're most welcome to!
 
Mickazoid, do you still have the PDFs you made for Ley Sector and Glimmerdrift Reaches? I'd love to get those.

As the newest citizen of the Imperium, I'd also like to request LBBs for the Trojan Reaches, Vanguard, and Beyond sectors.
(I have data files for some of these, though not with me at the moment.)

And as a fellow programmer, let me add my praise to everyone's here. This is INCREDIBLY fine work; you deserve many kudos and much thanks.
 
tancred - I'd be glad to send you a nice bundle. Send me a PM with your email address and I'll zip some goodies up.


And thanks for the kind comments - they mean a lot and I'm most grateful!
 
Like you, I have fond memories of a long-ago Spinward Marches campaign, and would love to have maps and data for all the sectors around the Marches.
I'm working with the Traveller Hero project, and hope to start a TH campaign with my group sometime in the next year.
 
Tangent for the borders fans: Check out

http://www.travellermap.com/tmp/allygen4.pl.txt
http://www.travellermap.com/tmp/walkmap.pl.txt

This hacked up/in progress version of allygen uses a completely different algorithm for figuring out who owns regions. Whereas J Greely's algorithm was like bacteria growing outwards from worlds on the surface of a petri dish - worlds trying to claim those nearby - this is more like wrapping a thread around pins on a corkboard, limiting how long any stretch of thread can be. (It's hardcoded to "3" right now but it's easy to change.)

Also, if you use --savemap it'll dump out an ASCII map of the allegiances which you can edit and feed back into walkmap.pl which will spit out the metadata.
 
Hi folks. I've made a few updates:

1. Using the scoring Berka provided, the generator now scores and assigns the capital world for each subsector.
When using pre-existing sector data, if a subsector has no world with 'Ca' in the 'trade codes' section, it will score and assign one.

2. If the source 'msec' file contains subsector names, the generator bypasses naming the subsector after the capital world.
If not, each subsector is named after the capital world within.

Next up: script fixes and optimizations (it's horribly kludgy right now).

Here's a brief recap of the script's capabilities:

* Generates a random or pre-existing CT-canon sector in LBB pdf format, including:
- a data listing and map for each world's subsector
- Auto-generated or pre-existing polities and printable borders and regions
- standard 'sec' and 'msec' output (for sec2pdf compatibility)
- Trade Route generation
- optional Book 3 world UPP descriptions
- optional Book 7 cargo
- optional Book 2 animal encounter tables
- a single-page sector map
- a list of sector polities

* Many little elegances like
- Multi-word sector names (use '_' in the title)
- Auto-generated capital world and subsector names
- border/region/route color support via sec2pdf
- cover page with random SF quote
- outputted files can be edited and re-run thru the generator for customized results

* Left to do:
- adjacent subsector names at border of each subsector map
- subsector name in map header

* Performance time
- ~100 seconds for the basic pdf (without UPP descs, cargo or animal tables)
- ~180 seconds for the pdf with UPP descs
- ~400 seconds for the pdf with animal encounters

For an example, check out the Spinward Marches subsector at
http://micki001.cnc.net/trav/SpinwardMarchespre.pdf and http://micki001.cnc.net/trav/SpinwardMarches.pdf (includes UPP descriptions)
Enjoy!
 
Note: If you've not installed the script locally, and just want a few random or popular sectors in LBB format, you can grab a bunch of autogenerated LBBs - a handful of random Classic Traveller sectors, or 14 of the more popular canon sectors, here on my university web space:

http://www.columbia.edu/~mbk2109/traveller

Please note that NONE of these pdf's were altered or reformatted in any way... what you see here is the raw output of the script.
 
do you have a recent url of your most up to date script?

I would like to try and see if I can get it to run on my website.
 
This is amazing work. I have fingers crossed that work on it is still underway. You deserve all sorts of naval heroism awards for this...

best,
Howard
 
Thank you jones and enoff - your compliments are heart-warming and inspired a bit of Christmas cheer:

Merry Christmas!

Here's your present!


While not quite a bundled executable, I've updated the script, included TrueType versions of the required fonts, and provided detailed installation instructions in the beginning of the script.

http://www.columbia.edu/~mbk2109/traveller/SectorMakerScripts.zip

It should now be possible to install the script in less than 5 minutes on a new Mac, and takes only 10 steps. I've included the instructions below as well.

Good luck, happy Travelling, and Happy Holidays!

</font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">

BASIC INSTRUCTIONS

INSTALLATION

# STEP ONE
## install Apple's "Xcode Tools" from http://developer.apple.com/macosx/

# STEP TWO
## install the Mac OSX version of pdftk (used for splitting, joining, compressing and overlaying
## pdf pages) from http://www.pdfhacks.com/pdftk/

# STEP THREE
## install pdf-API2 (a perl resource for handling pdfs and fonts)
## from http://search.cpan.org/~areibens/PDF-API2-0.55/lib/PDF/API2.pm

# STEP FOUR
## unzip the SectorMaker archive from http://micki001.cnc.net/trav/SectorMakerScripts.zip
## and place all the files in the computer's cgi folder. Also, create the output folder.
mkdir /sectors/autogen
unzip SectorMakerScripts.zip -d /Library/WebServer/CGI-Executables/

# STEP FIVE
## move to the install directory and set the script permissions properly.
cd /Library/WebServer/CGI-Executables/install
chmod ugo+x SectorMaker.cgi SectorMaker.sh BatchSectorMaker.sh

# STEP SIX
## move the custom CoreFont main file into the newly-installed pdf-api2 CoreFont folder.
cp pdf-api2/corefont.pm /Library/Perl/5.8.6/PDF/API2/Resource/Font/

# STEP SEVEN
## install the custom CoreFont fonts into the newly-installed pdf-api2 CoreFont folder.
cp pdf-api2/universbold.pm pdf-api2/univers.pm pdf-api2/optima.pm /Library/Perl/5.8.6/PDF/API2/Resource/Font/CoreFont/

# STEP EIGHT
## install the required TrueType fonts (a few styles of Univers and Optima) into your computer's '/Library/Fonts/' folder.
cp ttf/Univers_Bold_Italic.ttf ttf/Univers.ttf ttf/Univers_Bold.ttf ttf/Optima.ttf ttf/Univers_Italic.ttf /Library/Fonts/

# STEP NINE
## install the custom SW4 Traveller binaries into your computer's '/usr/bin/' folder.
cp bin/full-upp bin/mapsub3 bin/subsec2 bin/gensec3 /usr/bin/

# STEP TEN
## install enscript files
cp enscript/enscript.cfg enscript/travellerpagenums.hdr enscript/travellerpagenums2.hdr /usr/share/enscript/


# USING THE SCRIPTS

## 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 script from a web browser, use the following URL syntax (you must already have
## turned on 'Web Sharing', using the 'Sharing' Preference Pane of 'System Preferences'):
http://[servername]/cgi-bin/SectorMaker.cgi?{sectorname}+{density}+{tech}+{desc}+{{secfile}}+{{regen}}

## To use the batch sector maker, navigate to the /Library/WebServer/CGI-Executables folder and use the following syntax:
./BatchSectorMaker.sh {number of sectors} {tech} {desc}
#
./SectorMaker.cgi parameters:

{sectorname}

{density|rift/scattered/standard/dense or Xx}

{tech|backwater,frontier,mature,cluster}

{desc: Description|1=UPP and Animal,2=just UPP,3=none}

{secfile: Pre-existing sector file name (used if an existing set of .sec, route and alliance
files is available in trav/sectorfiles)}

{regen: Pre-existing regeneration options|1=use existing file's pre-existing borders and routes,
2=only use pre-existing routes,3=only use pre-existing borders and routes}

REQUIRES:
- Apple's XCode Tools
http://developer.apple.com/macosx/
- pdftk
http://www.pdfhacks.com/pdftk/
- PDF-API2
http://search.cpan.org/~areibens/PDF-API2-0.55/lib/PDF/API2.pm

Using sector tools, the sector data and individual subsector data is
created, and the PostScript hexmap is generated. Using pstopdf, the PostScript
hexmap is converted to a pdf. Using enscript, the text sector data is
converted to a PostScript file. pstopdf does it's job and then using pdftk, the
pdf's are overlaid and concatenated together. And then we serve it up!
</pre>[/QUOTE]
 
Ara:

Thanks for the kind words! All I did was gather up the work of a few incredible artists and programmers (James Perkins, JGreely, Joshua Bell, BerKA, and others) and combine them using a terribly kludgy and poorly-programmed script.

At least it achieves the desired goal - a fully canon-styled LBB in pdf format with the capability to run the script with both 'hands-off' and 'total editability'.

I'll continue to improve the script as I learn more - right now the scoring functions are amazingly blunt and the step-by-step file-by-file method the script employs eats up a bunch of disk space (100mb per sector, deleted upon termination of the script).

And last - re Linux... I haven't tried it yet, but since I just got a new MacBook Pro for work, I'll be able to develop and test a Linux and Windows version of the script in the weeks ahead.

As it stands, though, there's nothing Mac-only about the existing script and it should work with a few tweaks (you're not going to have a 'CGI-Executables' folder, Linux will possibly be missing programs like enscript and pstopdf, etc.).

Anyway, thanks for the compliments and let me know if you decide to go forward with a Linux buildout - I'll do the same.


Also - here's a bonus 'guide to the installed files', from the script archive. A big 'thank you' to everyone involved thus far.

</font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">

Key # Filename / Folder Contents

4 allygen2.pl
2 BatchSectorMaker.sh
14 converter1.sh
15 install:
bin: (copy into /usr/bin)
full-upp
gensec3
mapsub3
subsec2
enscript: (copy into /usr/share/enscript)
enscript.cfg
travellerpagenums.hdr
travellerpagenums2.hdr
pdf-api2:
CoreFont.pm (copy into CoreFont folder)
optima.pm (copy into CoreFont/Font folder)
univers.pm (copy into CoreFont/Font folder)
universbold.pm (copy into CoreFont/Font folder)
ttf: (copy into /Library/Fonts)
Optima.ttf
Optima_Bold.ttf
Optima_Bold_Italic.ttf
Optima_Italic.ttf
Univers.ttf
Univers_Bold.ttf
Univers_Bold_Italic.ttf
Univers_Italic.ttf
5a mapsub.pro
5b mapsubCOLORMODE.pro
3a sec2pdf.pl
3b sec2pdf_borders.pl
1a SectorMaker.cgi
1b SectorMaker.sh
trav:
9 Affiliation.txt
10 backgrounds:
- Data_BackgroundA.pdf
- Data_BackgroundB.pdf
- Data_BackgroundC.pdf
- Data_BackgroundD.pdf
- Data_BackgroundE.pdf
- Data_BackgroundF.pdf
- Data_BackgroundG.pdf
- Data_BackgroundH.pdf
- Data_BackgroundI.pdf
- Data_BackgroundJ.pdf
- Data_BackgroundK.pdf
- Data_BackgroundL.pdf
- Data_BackgroundM.pdf
- Data_BackgroundN.pdf
- Data_BackgroundO.pdf
- Data_BackgroundP.pdf
- Map_Background.pdf
- Map_BackgroundA.pdf
- Map_BackgroundB.pdf
- Map_BackgroundC.pdf
- Map_BackgroundD.pdf
- Map_BackgroundE.pdf
- Map_BackgroundF.pdf
- Map_BackgroundG.pdf
- Map_BackgroundH.pdf
- Map_BackgroundI.pdf
- Map_BackgroundJ.pdf
- Map_BackgroundK.pdf
- Map_BackgroundL.pdf
- Map_BackgroundM.pdf
- Map_BackgroundN.pdf
- Map_BackgroundO.pdf
- Map_BackgroundP.pdf
- SectorMap_Background.pdf
- SectorPolities_Background.pdf
9 beginfile.txt
9 covercat.txt
9 dash.txt
10 Data_Background.pdf
10 Desc_Background.pdf
9 descinfo.txt
9 introspace.txt
6 lc
8 namesmaster.txt
9 pageblanker.txt
9 PolitiesIntro.txt
9 PolitiesTitle.txt
7 randomquote.sh
9 ret.txt
10 SectorData_Back.pdf
10 SectorData_Cover.pdf
10 SectorData_IntDesc.pdf
10 SectorData_IntNoDesc.pdf
11 sectorfiles:
- Crucis_Margin.sec
- Crucis_Margin_alliances.txt
- Crucis_Margin_route.txt
- Deneb_Sector.sec
- Deneb_Sector_alliances.txt
- Deneb_Sector_route.txt
- Empty_Quarter.sec
- Empty_Quarter_alliances.txt
- Empty_Quarter_route.txt
- Foreven_Sector.sec
- Foreven_Sector_alliances.txt
- Foreven_Sector_route.txt
- Glimmerdrift_Reaches.sec
- Glimmerdrift_Reaches_alliances.txt
- Glimmerdrift_Reaches_route.txt
- Ley_Sector.sec
- Ley_Sector_alliances.txt
- Ley_Sector_route.txt
- Magyar_Sector.sec
- Magyar_Sector_alliances.txt
- Magyar_Sector_route.txt
- Reft.sec
- Reft_alliances.txt
- Reft_route.txt
- Sector_CJ-078.sec
- Sector_CJ-078_alliances.txt
- Sector_CJ-078_route.txt
- Solomani_Rim.sec
- Solomani_Rim_alliances.txt
- Solomani_Rim_route.txt
- Spinward_Marches.sec
- Spinward_Marches_alliances.txt
- Spinward_Marches_route.txt
- TestSector.sec
- TestSector_alliances.txt
- TestSector_route.txt
- The_Beyond.sec
- The_Beyond_alliances.txt
- The_Beyond_route.txt
- Trojan_Reach.sec
- Trojan_Reach_alliances.txt
- Trojan_Reach_route.txt
- Tuglikki_Sector.sec
- Tuglikki_Sector_alliances.txt
- Tuglikki_Sector_route.txt
- Usingou_Sector.sec
- Usingou_Sector_alliances.txt
- Usingou_Sector_route.txt
- Vanguard_Sector.sec
- Vanguard_Sector_alliances.txt
- Vanguard_Sector_route.txt
9 SectorNamer.txt
9 SectorTop.txt
12 shell.pl
13 subtitles:
- subtitleA.txt
- subtitleB.txt
- subtitleC.txt
- subtitleD.txt
- subtitleE.txt
- subtitleF.txt
- subtitleG.txt
- subtitleH.txt
- subtitleI.txt
- subtitleJ.txt
- subtitleK.txt
- subtitleL.txt
- subtitleM.txt
- subtitleN.txt
- subtitleO.txt
- subtitleP.txt
12 Traveller:
- Animal.pm
- Career.pm
- Character.pm
- Dice.pm
- HighGuard.pm
- Name.pm
- Sector.pm
- Starchart.pm
- Storage.pm
- Subsector.pm
- summarize.pl
- Trade.pm
- Utility.pm
- World.pm
- WorldExtended.pm
12 Traveller.pm


Descriptions

1a The main script, provided as a 'cgi' script for use on a web server.
1b The main script, provided as a command line script.
2 The batch sector script for generating numerous sectors at once
3a JGreely's phenomenal perl script, tweaked to generate the sector map.
3b The same perl script, tweaked to generate the routes, regions, labels and borders for the subsector maps.
4 JGreely's allygen, tweaked to generate new routes along with alliances and region data
5a the default PostScript color and style definitions for the subsector data maps (world, zone, base symbols, labels, etc.)
5b A variant of the PostScript file above, to provide bluish water worlds and color travel zones
6 lc, the original script used for generating the random names
7 The custom Traveller quote generation script (called from within the SectorMaker script) that uses lc.
8 The list of 'seed names' for the random name generation process
9 A text chunk used for combining strings in the script
10 A pdf page or pages used for assembling the final LBB pdf.
11 The main folder for storing previously-generated sector data. '.sec', alliance and route files should be placed here.
12 Traveller rules in perl, care of the lovely and talented Joshua Bell. They are woefully underutilized at present.
13 Subtitle text, for below the data at the bottom of each subsector data page.
14 A bonus manual conversion script to convert .dat file sector files
(like those on BeRKA's great Traveller site) to a format compatible with the SW4 suite.
15 This folder contains files that must be installed to run the script successflly (see the instructions for more info)</pre>[/QUOTE]
 
Salute mickazoid!

belated Merry Christmas and a Great New Year to you!

--been away on holiday, up in the North Carolina Mtns, beautiful.

 
Back
Top