Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsDiscussion Forum → Future of Massassi (open content, open source)
Future of Massassi (open content, open source)
2020-04-17, 6:07 PM #1
Obviously the main site doesn't get regular updates. It's actually not that useful in general because search engines don't index it properly, the pages the search indexes do index and link to result in users on pages with no menu/navigation or anything, and it's not up-to-date enough to even help people get JK working and mods working on modern computers.

In addition, a whole bunch of the site is backed by a database. For example, 3dos, mats, news, sots, lotw, etc. Maintaining a server with dynamic content is a pain. Especially when the "dynamic" part has actually been static for something like a decade.

I previously shared an "updated" design that doesn't use frames. It looks very similar (on purpose) but uses ... um css grid instead of frames (frames are bad, mmmmk). https://www.massassi.net/newdesign/

I have been slowly plugging away at a method for turning most (not all) dynamic resources into static ones. My current plan is to make everything static _except_ the forums and the levels/downloads. I'll deal with those at a later date.

As I was converting the site (I'll discuss this more in a bit) I got sad because so many sites that were linked to by massassi (in the news section, articles, programs, even the 3do site links to what were cool personal sites) are just dead. In the interest of making the content of massassi available (even if the site itself goes away at some point, like if I crash my bike and break my neck), I have the following proposal:

Turn Massassi into an "Open Content" site. This means that virtually all our content will be available in a public repo like github or similar. If anyone wants to make an edit to a page, just fork the repo, make the change, create a pull request.

This necessitates making all resources available as basic files (as opposed to dynamically generated pages). Following the current trend I am converting virtually everything to sets of markdown pages that are then (via a very simple static site generator) converted to HTML for publishing. I don't have the site online yet but I am going to try to get it there in the next couple of weeks (even if it's incomplete, which it will be).

Once I make the content available I will also make the site generator code available so anyone could just edit the html template and make a massassi of their own (with own look and style or whatever).

Is anyone interested in helping out? At this point I've gone through about a dozen tutorials and converted them to markdown. Some of the tutorials are really... unique... and I hate to lose that so if a tutorial has a design that doesn't match the current site design, I am also preserving those and making them available (as html in addition to the converted markdown files). It's a bit of a pain because the tools I'm using to convert html to markdown aren't perfect so for some tutorials I spend quite a bit of time making sure the markdown looks good and the tutorial still conveys the right information. For example in the old html we'd just juice the font size up for headings/sections and font information is stripped from the markdown so I end up finding the parts that were supposed to be big and making them into headers. Also sometimes tables get screwed up and the tutorials actually contain some cool data in tables. Also things like email address links and busted site links should be removed (working site links can be preserved).

I need help with the tutorials specifically because there are a lot of them and after making sure the idea worked I'm moving on to making other sections static (3dos, mats, news, etc.).

There are some considerations:
  • people could just steal the site content -- yes, they're doing this already, though; I'm really comfortable just "letting it go" at this point
  • levels - after the rest of the site is open/released I will worry about levels; I definitely want to release these as well, we just might lose or freeze comments/ratings
  • I thought I had more things but I don't, but I need at least 3 bullets for this list to make sense
2020-04-17, 6:36 PM #2
Originally posted by Brian:
  • I thought I had more things but I don't, but I need at least 3 bullets for this list to make sense


I lolled at this.

I'm up for any grunt work that I can do to help but you probably don't need that kind of help. When it comes to technical stuff my brain actively rejects learning now. I've been in school for so long and now that I'm "done" (for now) but having to continue to learn new software and web interfaces, it's basically just one of the more stressful things I have.

I like your idea of open source although even your level of explaining it, which was pretty high level, is over my head right now. I'd kind of just say zip the whole thing up as a giant torrent and let it go that way.

I really appreciate you and CM keeping this place going for so long. Whatever you feel is best. Apparently there is a lot of discussion that happens on Discord now. I don't know if I'm welcome there or not but perhaps invites can be provided to more members, however that process works.
"I would rather claim to be an uneducated man than be mal-educated and claim to be otherwise." - Wookie 03:16

2020-04-17, 6:47 PM #3
The work would be converting dirty, old, crusty HTML to nice clean markdown. Markdown is easy, it's sort of similar to bb code.
2020-04-17, 10:25 PM #4
I'd be willing to help out. Lacking the motivation to work hard on my own stuff, but lending a hand? No problem. Give me a "to-do" list and whatever templates you want to use and I'll chip away.
$do || ! $do ; try
try: command not found
Ye Olde Galactic Empire Mission Editor (X-wing, TIE, XvT/BoP, XWA)
2020-04-17, 11:08 PM #5
Awesome! Thank you! Currently the git repo is on bitbucket.org, do you have an account there? If not, I can also move it over to github, doesn't matter to me either way.
2020-04-18, 5:03 AM #6
I'm on on githib, don't have bitbucket.
$do || ! $do ; try
try: command not found
Ye Olde Galactic Empire Mission Editor (X-wing, TIE, XvT/BoP, XWA)
2020-04-18, 5:07 AM #7
Seconded github, don't have bitbucket. Can't promise to do anything but the odds if it's on github go from 0 to epsilon.
2020-04-20, 8:51 AM #8
I had a quick go at a html->markdown script with some success on the tutorial pages.

How is your markdown parser handling tables as they're not part of the official spec? Pages like this: https://www.massassi.net/basics/terms.htm might be a bit more challenging.
TheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWho
SaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTh
eJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSa
ysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJ
k
WhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSays
N
iTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkW
2020-04-20, 10:07 AM #9
I actually already finished the basics section. I had intended to put this on github over the weekend but my water heater went out so had to deal with that. I'm using github flavored markdown which supports tables. Also a "front matter" parser so the top of every file supports front matter like jekyll. I'm using pandoc to do the initial conversion:

Code:
pandoc --from html --to gfm index.html > index.md


The specific markdown parser I'm using is this one:

https://python-markdown.github.io/

And I'm using some extensions from here:

https://python-markdown.github.io/extensions/

Specifically "extras" (which includes tables and some other things) and "toc".

I then run the static site generator and look at the rendered page and make tweaks from there. I'll try to get this pushed to github today after work, sorry for the delay!!
2020-04-20, 10:45 PM #10
Ok, here's the github repo:

https://github.com/saberworks/massassi.net

I would suggest getting python installed, getting the deps installed (look at requirements.txt), and then running
Code:
python build.py
. That will put all the generated files in a directory called 'output' which you can view with your web browser. Note that unless you serve it through a web server (I'm using apache) all the absolute html links will be broken, but it's sufficient to get started.

I just committed all the tutorials that haven't been converted yet. If you open a tutorial directory and there's not a markdown file in it (.md), it needs to be converted. You can get the description, date, author, author email from the main tutorials page on massassi (unless it's one of the few that for some reason don't show up on the tutorials page, in that case either contact me or dig through the old news to try to find the announcement when it was posted).

There are plenty of examples done already in the tutorials section (to show what info should be in the front matter, for example, and how to do tables, or whatever).

I'm also ok if the tutorial stays in HTML as long as all the styling is completely removed. You can use any basic markup like <p>, <table>, <strong>, etc., I just want to get rid of all the font tags, all the weird underlines/italics, all the centering crap, etc. But clean HTML is ok. As I said before if a tutorial has a significantly different style than the rest of the site, I would prefer to also keep a copy (there's a tag for it: original: <original.html> (but make sure to commit an original.html too).

I'm happy to take contributions for almost anything: the tutorials, style fixes (like if things don't work right in certain browsers or whatever), the python code that generates the output, etc. However, at this point I'm not interested in complete changes to the style. If you want to do that, you should also program a way to switch styles and I don't have any problems with that. I'm also not interested in pulling in references to external resources (like google fonts, external js libraries, etc.). If you need something we need to make sure to include it in the repo itself.

Finally, as I mentioned, I'm working on the various dynamic sections (cogs, levels, mats, news) so probably leave that to me. If you want to work on a front page (to replace the news or at least be shown above the news), feel free. I think it should include stuff like a basic explanation of wtf the site is, a prominent pointer to the content I think is cool (levels/mods, sotd archives, lotw archives, hosted sites), and probably either add some pages or link to pages about how to get JK running on modern computers.

Over the next few days I'm going to try to get this (generated site) published to a new domain, maybe open.massassi.net for now, and automate the build so that it gets built automatically as stuff is committed to master. That way the changes can be visible somewhere. Eventually it will replace the entire [url]www.massassi.net[/url] site.
2020-04-24, 3:47 PM #11
Alright, got it forked and it seems to have built fine. Will start looking at it.
$do || ! $do ; try
try: command not found
Ye Olde Galactic Empire Mission Editor (X-wing, TIE, XvT/BoP, XWA)
2020-04-24, 5:13 PM #12
You da man! I'm a complete beginner at python so let me know if something doesn't work right or the instructions aren't right or whatever. I'm going to try to put up a development server for this sometime this weekend so the changes can actually be pushed live somewhere (like "open.massassi.net" or something).
2020-04-24, 8:30 PM #13
I was able to get it put up pretty quickly. This is just a basic web server serving up the static pages. The main page placeholder has more info about what is done and what is not done.

https://open.massassi.net/

If I ever get a pull request I should be able to approve it and push it out to this site pretty quickly (evenings and weekends, probably not during regular business hours).
2020-04-27, 10:14 AM #14
What was up with the downtime earlier today? https://open.massassi.net seemed to be the only link that was working at the time
Star Wars: TODOA | DXN - Deus Ex: Nihilum
2020-04-27, 11:16 AM #15
I'm not entirely sure what happened. It looks like unattended-upgrades applied a modphp update and "gracefully" shut down apache, but then didn't start it back up. open.massassi.net and 3dpreview.massassi.net weren't affected because they're actually running on different servers.

Ultimate goal is to have:

static server for most of massassi.net (like open.massassi.net -- no php, no cgi, no ssi, just fully static pages)
server for 3dpreview (runs python)
server for forums (completely separate from everything else)

This just shrinks attack surface; if someone manages to get in via vbulletin/php bugs they could only harm the forums/forum data, nothing else. Same for 3dpreview.

This means I need to have a plan for dealing with the levels/mods/maps. Still marinating on this.
2020-04-27, 12:19 PM #16
Originally posted by Brian:
This means I need to have a plan for dealing with the levels/mods/maps. Still marinating on this.


Why not just grab contents of the the body element for each, page strip the footer and embed it in the new layout and map the title/meta description.


Alternatively, as they are consistent it would be easy to write a script to extract all the data into some simple format like JSON and write something to generate the pages from that however you want to display them.
TheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWho
SaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTh
eJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSa
ysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJ
k
WhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSays
N
iTheJkWhoSaysNiTheJkWhoSaysNiTheJkWhoSaysNiTheJkW
2020-04-27, 2:28 PM #17
Right now the level info is stored in the database and each time level info changes (like title, description, whatever) an html file is generated and written to the filesystem. So in that sense I could just keep the database locally and generate the static files from the db. But I'd like to get away from using the database. Right now there are tables for levels, categories, users, comments, ratings, etc. I don't think people use them anymore. If I want to just generate a static site that would be easy enough, but should I discard the download counts? The ratings? The comments? We would lose the "search" as well.
2020-04-30, 4:51 PM #18
Originally posted by Darkjedibob:
Alright, got it forked and it seems to have built fine. Will start looking at it.


I got your PR and I really appreciate it. I made one small suggestion but if you don't feel like changing it I can merge and do it myself.

General update: I finished 3dos/md3s and now working on mats/textures. Then onto the Cog section.
2020-04-30, 5:25 PM #19
Now that I've got the routine worked out I should be able to step through them when I've got time.
$do || ! $do ; try
try: command not found
Ye Olde Galactic Empire Mission Editor (X-wing, TIE, XvT/BoP, XWA)
2020-04-30, 5:33 PM #20
I really appreciate it. If you find something that doesn't render nicely feel free to add a style or something. I just uploaded a new style for code blocks that make them render in a darker color and they are indented a bit so it looks better. I pushed your changes to open.massassi.net, for example:

https://open.massassi.net/tutorials/camera/

Don't forget about the "original: <filename>" if you find one with different formatting. For example:

https://www.massassi.net/tutorials/clientserver/clientserver.html
https://www.massassi.net/tutorials/ctf/ctf.htm

Example of one I converted already (notice the little box at top with link to the original version):

https://open.massassi.net/tutorials/outdoor-3/
2020-05-01, 1:27 PM #21
I've come across a couple that aren't listed on the Tutorials page, so I can't pull a date or description. Is there somewhere that links to them, or are they orphaned? The three I've hit so far are chartut2, circular_outdoor_architecture and cogtuts.
$do || ! $do ; try
try: command not found
Ye Olde Galactic Empire Mission Editor (X-wing, TIE, XvT/BoP, XWA)
2020-05-01, 2:25 PM #22
I'm glad you're finding those. I think the only way would maybe to search the old news :( I think we did an announcement each time there was a new tutorial. Let me poke around and see if I can find anything for those three.
2020-05-01, 2:26 PM #23
Hah, I just noticed the ws_ftp log in the chartut2 directory which gives some hint of original upload time maybe?

Code:
98.10.03 15:13 B c:\massassi\chartut2\pic1.gif --> 206.96.221.5 /home/massassi/htdocs/chartut2 pic1.gif
98.10.03 15:13 B c:\massassi\chartut2\pic2.gif --> 206.96.221.5 /home/massassi/htdocs/chartut2 pic2.gif
98.10.03 15:13 B c:\massassi\chartut2\pic3.gif --> 206.96.221.5 /home/massassi/htdocs/chartut2 pic3.gif
98.10.03 15:13 B c:\massassi\chartut2\pic4.gif --> 206.96.221.5 /home/massassi/htdocs/chartut2 pic4.gif
98.10.03 15:13 B c:\massassi\chartut2\pic5.gif --> 206.96.221.5 /home/massassi/htdocs/chartut2 pic5.gif
98.10.03 15:13 B c:\massassi\chartut2\pic6.gif --> 206.96.221.5 /home/massassi/htdocs/chartut2 pic6.gif
98.10.03 15:17 B c:\massassi\chartut2\pic8.gif --> 206.96.221.5 /home/massassi/htdocs/chartut2 pic8.gif
98.10.03 15:17 B c:\massassi\chartut2\player_characters.html --> 206.96.221.5 /home/massassi/htdocs/chartut2 player_characters.html


Still looking though... but this is just wild. Like you can see exactly what I was doing on october 3, 1998!
2020-05-01, 2:29 PM #24
Indeed, navigating to October 3, 1998 in the old news shows the original post. Hopefully we can get that lucky on the other 2; still looking.

Quote:
New Player Character Tutorial - Brian

Lee Howitt has submitted another Player Character tutorial. This one basically explains another way to make the main character of your single player levels someone other than Kyle in JK or Mara in MotS.
2020-05-01, 2:33 PM #25
I was able to find the circular outdoor architecture announcement by using this query on google:

site:massassi.net circular outdoor architecture

https://www.google.com/search?client=firefox-b-1-d&q=site%3Amassassi.net+circular+outdoor+architecture

September 4, 1999

Quote:
Jkior, of Jkior Level Productions, submitted an incredible new tutorial on creating circular outdoor architecture. It builds upon the perfect polygons and perfect pipes tutorials, so I suggest you take a look at those first. Anyway, a huge thanks to Jkior for this tutorial (I can't wait to get working on an MP level with this technique).
2020-05-01, 2:38 PM #26
cogtuts looks like it has the date right in the original tutorial: June 5, 1998; however, it looks like it was added to massassi on august 8, 1998 I don't have a strong opinion either way on what date you put in the tutorial file.

Quote:
Text Output Cog Tutorial - Brian

This tutorial isn't "new" per se, as we've posted news on it a few times in the past. The good news is that it's finally html'd, and has earned a permanent place at our site. Look forward to more of MastaJedi's cog tutorials soon. There was one posted recently, and should be in html format anytime. You can view the tutorial here. Thanks MastaJedi.
2020-05-01, 2:41 PM #27
https://www.massassi.net/tutorials/circular_outdoor_architecture/

This one is so rad; it makes me want to open Jed again!! argh
2020-05-01, 4:37 PM #28
Loving the idea of a PR-based website. Could host a backup on GitHub, I think they allowed for static websites locally.

https://pages.github.com/

Not sure what exactly is the limitations on GitHub Pages, but definitely could be useful for future proofing.
2020-05-01, 4:55 PM #29
Alright, I finished the first pass of the rest of the C's, no other orphans. Some other little tweaks I want to make to some of the earlier ones I did, but that's enough for today.
Quote:
site:massassi.net circular outdoor architecture

Thanks, I'll use that to track down any others I come across.
$do || ! $do ; try
try: command not found
Ye Olde Galactic Empire Mission Editor (X-wing, TIE, XvT/BoP, XWA)
2020-05-03, 7:52 PM #30
Looks great, thank you!. I'm going through them now and will likely merge tonight. I noticed a lot of work around getting some complex tables (well, things will multiple lines of formatted data inside a cell) to work right. I wonder if in some cases we can use definition lists instead. I think it will make converting some of these easier.

https://www.markdownguide.org/extended-syntax/#definition-lists

We may have to enable an extension on the markdown formatter thing but I don't think this will be an issue.
2020-05-03, 8:27 PM #31
I made these changes to the crosshair tutorial, yeah that one was a nightmare:

https://github.com/saberworks/massassi.net/commit/ba78e4744a16da5cacb036ad00d543316daf21ee
2020-05-03, 9:16 PM #32
Just pushed the mats section. I'm not 100% happy that all of them are on a single page but meh. I guess I'll do cogs next.

https://open.massassi.net/mats/
2020-05-18, 12:14 PM #33
I got the next PR, I really really appreciate it. Unfortunately my wife's sister was killed in an accident at work and we're dealing with funeral arrangements and helping take care of her daughters. I won't be able to look at the PR for a little while.
2020-05-18, 4:41 PM #34
That sucks, sorry :(

It's your site, I'm not driving a schedule. This obviously takes the back seat to real life, especially when dealing with a tragedy like that. I'll keep plugging away when I can, and you'll get to it when you get to it.
$do || ! $do ; try
try: command not found
Ye Olde Galactic Empire Mission Editor (X-wing, TIE, XvT/BoP, XWA)
2020-05-19, 8:11 AM #35
Very sorry to hear, Brian. That's just horrible.
"I would rather claim to be an uneducated man than be mal-educated and claim to be otherwise." - Wookie 03:16

2020-05-31, 10:33 PM #36
I was able to review the PR, accept it, and push to open.massassi.net. I'm not quite ready to jump back in to working on this, but soon hopefully.

↑ Up to the top!