Compare commits
64 Commits
0723dfdb30
...
1.0.13
Author | SHA1 | Date | |
---|---|---|---|
2fc1547401 | |||
6d0f4b7614 | |||
96c9785f97 | |||
142d2978d0 | |||
abda022dfb | |||
29ff158901 | |||
c07889ddb9 | |||
172435e78e | |||
d3073d7b6e | |||
fa73ce8f58 | |||
24f624a673 | |||
ce18848bb0 | |||
37254883a4 | |||
722f32e0a9 | |||
d97b679f1e | |||
4bfa632dff | |||
0c30da7e6d | |||
2fcf3ad3a2 | |||
930c550385 | |||
ea31268ef5 | |||
c1b575f5a9 | |||
ad67e1831b | |||
7330851694 | |||
62829cecad | |||
afa3886de5 | |||
d066bed021 | |||
1cf9089e33 | |||
9aeb4b44b4 | |||
f3f6fd7be5 | |||
138fa27962 | |||
234992141c | |||
89d9610ba8 | |||
73cad693a1 | |||
acc4e3f324 | |||
7b5af1e979 | |||
6a633ec2eb | |||
67f15c17e6 | |||
3b5544f99f | |||
b57bcea176 | |||
dbd6856dce | |||
36f5753088 | |||
7909e8f91d | |||
063ffd6f34 | |||
1ac6174029 | |||
c3c1761c75 | |||
5de09c8789 | |||
f7f1b8b052 | |||
f93a0218a0 | |||
1225552189 | |||
756a5a9a8a | |||
267447b172 | |||
00c860a237 | |||
0d4cf0c186 | |||
199c150ad4 | |||
290e1fc051 | |||
6b8e59bbdf | |||
cd9f180be6 | |||
28bf981a69 | |||
c7f7785662 | |||
3a0d2ac6ef | |||
7daf825ea1 | |||
943466fa16 | |||
3c5696c3ca | |||
fcb31ba60d |
6
.dockerignore
Normal file
6
.dockerignore
Normal file
@@ -0,0 +1,6 @@
|
||||
.git
|
||||
.gitignore
|
||||
.templates
|
||||
deploy.sh
|
||||
README.md
|
||||
test.sh
|
54
.gitlab-ci.yml
Normal file
54
.gitlab-ci.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
#
|
||||
# This guy is awesome: https://dev.to/bzinoun/gitlab-ci-to-build-and-push-containers-to-registry-538a
|
||||
#
|
||||
|
||||
image: morlay/buildx:607a2ce
|
||||
variables:
|
||||
# DinD's vfs driver is pretty intensive; this is less so
|
||||
DOCKER_DRIVER: overlay2
|
||||
CI_HUB_USERNAME: rehashedsalt
|
||||
stages:
|
||||
- build
|
||||
# - test
|
||||
services:
|
||||
- docker:dind
|
||||
before_script:
|
||||
- echo -n "$CI_LOGIN_PASSWORD" | docker login -u "$CI_LOGIN_USERNAME" --password-stdin
|
||||
- docker version
|
||||
- docker info
|
||||
after_script:
|
||||
- docker logout hub.docker.com
|
||||
|
||||
# BUILD
|
||||
Build:
|
||||
stage: build
|
||||
script:
|
||||
- docker pull $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest || true
|
||||
- docker buildx create --use
|
||||
- >
|
||||
docker buildx build
|
||||
--pull
|
||||
--platform linux/amd64,linux/arm64
|
||||
--cache-from $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest
|
||||
--tag $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
|
||||
--tag $CI_HUB_USERNAME/$CI_PROJECT_NAME:bleeding
|
||||
--push
|
||||
.
|
||||
- docker images
|
||||
Build_Tag:
|
||||
stage: build
|
||||
only:
|
||||
- tags
|
||||
script:
|
||||
- docker pull $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest || true
|
||||
- docker buildx create --use
|
||||
- >
|
||||
docker buildx build
|
||||
--pull
|
||||
--platform linux/amd64,linux/arm64
|
||||
--cache-from $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest
|
||||
--tag $CI_HUB_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
|
||||
--tag $CI_HUB_USERNAME/$CI_PROJECT_NAME:latest
|
||||
--push
|
||||
.
|
||||
- docker images
|
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"m.server": "matrix.9iron.club"
|
||||
}
|
3
Dockerfile
Normal file
3
Dockerfile
Normal file
@@ -0,0 +1,3 @@
|
||||
FROM php:7-apache
|
||||
COPY ./ /var/www/html/
|
||||
EXPOSE 80
|
14
README.md
14
README.md
@@ -1,11 +1,21 @@
|
||||
# www2
|
||||
# 9iron
|
||||
|
||||
My personal website, revision 2.
|
||||
A website for me and my friends.
|
||||
|
||||
## Installation
|
||||
|
||||
This repo is a ready-to-go webroot. `git clone` and configure Apache. `git pull` for updates.
|
||||
|
||||
## Docker
|
||||
|
||||
You can pull the image from `rehashedsalt/9iron`. The `:latest` tag will always have the latest git tag applied and the `:bleeding` tag will always be the latest *commit*.
|
||||
|
||||
The following directories contain stateful content that you will be interested in keeping in a PV:
|
||||
|
||||
* `/var/www/html/files`
|
||||
|
||||
The image listens on `:80` and does not terminate SSL; proxy connections if you're interested in that.
|
||||
|
||||
## Random Subtitles
|
||||
|
||||
I've got random subtitles generated at page load. Hit me up (i.e. open an issue) if you've got dumb ideas for some.
|
||||
|
@@ -9,16 +9,13 @@
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>About 9iron</h1>
|
||||
<p>9iron is a website spun up by yours truly to unify the services I host and inevitably rope my friends into. In addition to being a link aggregator, it's also a blog. But nobody reads my shitty blogposts.</p>
|
||||
<p>9iron is a website spun up by yours truly to unify the services I host and inevitably rope my friends into. It also aggregates documentation about the various games we play.</p>
|
||||
<h1>About Me</h1>
|
||||
<p>I am Salt. I'm a sysadmin and I play video games. I try to be most active on Matrix, but inevitably have to use Discord all the damn time. You can also reach me very effectively through the Fediverse and email.</p>
|
||||
<p>I am Salt. I'm a sysadmin and I play video games. I'm regrettably most active on Discord because there are no good alternatives (that my friends will join). You can also reach me very effectively through the Fediverse and email.</p>
|
||||
<p>Hit me up if you wanna play something or if shit breaks.</p>
|
||||
<dl>
|
||||
<dt>Fedi:</dt>
|
||||
<dd>salt@cowfee.moe</dd>
|
||||
<dd>salt@weeaboo.space</dd>
|
||||
<dt>Matrix:</dt>
|
||||
<dd>@salt:9iron.club</dd>
|
||||
<dt>Discord:</dt>
|
||||
<dd>Salt#0382</dd>
|
||||
<dt>Email:</dt>
|
||||
|
10
deploy.sh
10
deploy.sh
@@ -1,10 +0,0 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# post-deploy.sh
|
||||
# Copyright (C) 2020 Vintage Salt <rehashedsalt@cock.li>
|
||||
#
|
||||
# Distributed under terms of the MIT license.
|
||||
#
|
||||
|
||||
ssh -t salt@www.9iron.club sudo git -C /var/www/www.9iron.club pull
|
||||
|
@@ -1,49 +0,0 @@
|
||||
<?php header("Content-Type: application/rss+xml; charset=ISO-8859-1"); ?>
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title>9iron</title>
|
||||
<link>https://9iron.club/posts</link>
|
||||
<description>Ramblings of some dumb young admin guy</description>
|
||||
<language>en-us</language>
|
||||
<?php
|
||||
/* Generate feed */
|
||||
$dir = $_SERVER['DOCUMENT_ROOT']."/posts/";
|
||||
$posts = scandir($dir, 1);
|
||||
$ignore = array("index.php", "feed.php", ".", "..");
|
||||
$extensions = array(".php", ".html", ".htm");
|
||||
/* Create 25 entries */
|
||||
foreach (array_slice($posts, 0, 26) as &$post) {
|
||||
/* Check against blacklist */
|
||||
if (in_array($post, $ignore)) continue;
|
||||
$postlocation = $dir.$post;
|
||||
$posturl = "/posts/".$post;
|
||||
/* This is a date because I write all my posts as such */
|
||||
$postdate = pathinfo($postlocation, PATHINFO_FILENAME);
|
||||
/* Fetch title and summary */
|
||||
$title = "Title not available";
|
||||
$summary = "Summary not available";
|
||||
$dom = new DOMDocument();
|
||||
if ($dom->loadHTMLFile($postlocation)) {
|
||||
$xpath_section = new DOMXpath($dom);
|
||||
/* Get title */
|
||||
$list = $dom->getElementsByTagName("title");
|
||||
if ($list->length > 0) $title = $list->item(0)->textContent;
|
||||
/* Get summary */
|
||||
$list = $xpath_section->query('//div[@class="section"]//p');
|
||||
if ($list->length > 0) $summary = $list->item(0)->nodeValue;
|
||||
}
|
||||
/* Mark up the data */
|
||||
$rssfeed .='
|
||||
<item>
|
||||
<title>'.$title.'</title>
|
||||
<description>'.$summary.'</description>
|
||||
<link>https://www.9iron.club'.$posturl.'</link>
|
||||
<pubDate>'.date('r', strtotime($postdate)).'</pubDate>
|
||||
</item>';
|
||||
}
|
||||
/* List it */
|
||||
echo $rssfeed;
|
||||
?>
|
||||
</channel>
|
||||
</rss>
|
0
files/.keep
Normal file
0
files/.keep
Normal file
@@ -1,25 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<title>9iron - Garry's Mod</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>Garry's Mod</h1>
|
||||
<p>Just toss the IP into your favorites or open it through the console. Ask around for the password.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1>Servers</h1>
|
||||
<div class="subcontainer">
|
||||
<h2>Trouble in Terrorist Town</h2>
|
||||
<p><code>ttt.src.9iron.club</code></p>
|
||||
<p><a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2155532035">Addons List</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</body>
|
||||
</html>
|
22
index.php
22
index.php
@@ -10,24 +10,19 @@
|
||||
<div class="content">
|
||||
<div class="iconbuttoncontainer">
|
||||
<a href="/minecraft" class="iconbutton">
|
||||
<i class="fa fa-gamepad"></i>
|
||||
<i class="fa fa-cube"></i>
|
||||
<h1>Minecraft</h1>
|
||||
<p>Modded Minecraft is one of our most-common time wasters</p>
|
||||
</a>
|
||||
<a href="/terraria" class="iconbutton">
|
||||
<i class="fa fa-gamepad"></i>
|
||||
<i class="fa fa-tree"></i>
|
||||
<h1>Terraria</h1>
|
||||
<p>A game we've sunk just as much time into as Minecraft. Sometimes modded, sometimes not</p>
|
||||
</a>
|
||||
<a href="/tes3mp" class="iconbutton">
|
||||
<i class="fa fa-gamepad"></i>
|
||||
<h1>TES3MP</h1>
|
||||
<p>Morrowind, but multiplayer. And it's nowhere near as jank as it sounds</p>
|
||||
</a>
|
||||
<a href="/gmod" class="iconbutton">
|
||||
<i class="fa fa-gamepad"></i>
|
||||
<h1>Garry's Mod</h1>
|
||||
<p>It's second banana to other games, but we may have a server up from time to time</p>
|
||||
<a href="/smz3mw" class="iconbutton">
|
||||
<i class="fa fa-random"></i>
|
||||
<h1>SMZ3 Multiworld</h1>
|
||||
<p>Strap two games together, then strap a bunch of those games together and shake them real hard</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="break"></div>
|
||||
@@ -42,11 +37,6 @@
|
||||
<h1>Nextcloud</h1>
|
||||
<p>File storage and collaboration, feed reader, task organizer, and more</p>
|
||||
</a>
|
||||
<a href="/matrix" class="iconbutton">
|
||||
<i class="fa fa-matrix-org"></i>
|
||||
<h1>Matrix</h1>
|
||||
<p>Federated messaging client, more similar to Slack than Discord</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
|
@@ -1,96 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<title>9iron</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>What is Matrix?</h1>
|
||||
<div class="toc">
|
||||
<h2>Contents</h2>
|
||||
<ul>
|
||||
<li><a href="#gettingstarted">Getting Started</a></li>
|
||||
<li><a href="#darkmode">Dark Mode</a></li>
|
||||
<li>Using Matrix</li>
|
||||
<ul>
|
||||
<li><a href="#voicechat">Voice Chat</a></li>
|
||||
<li><a href="#communities">Communities</a></li>
|
||||
</ul>
|
||||
<li>Miscellaneous</li>
|
||||
<ul>
|
||||
<li><a href="#rules">Rules</a></li>
|
||||
<li><a href="#federation">Federation</a></li>
|
||||
<li><a href="#contact">Contact an Admin</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
<p>Matrix is a communication platform. Think Discord, but hosted here and without <a href="https://cadence.moe/blog/2020-06-06-why-you-shouldnt-trust-discord">its problems</a>.</p>
|
||||
<p>To get up and running, you only need to read the <a href="#gettingstarted">Getting Started</a> section. Everything else here is just in case you want or need it.</p>
|
||||
</div>
|
||||
<div class="section" id="gettingstarted">
|
||||
<h1>Getting Started</h1>
|
||||
<p>Setting up Matrix is pretty simple. </p>
|
||||
<p>Download, install, and launch <a href="https://about.riot.im/">Riot</a>. You'll be presented with the following screen:</p>
|
||||
<img class="bigimg" src="/images/riot-tut-1.png" />
|
||||
<p>Create an account:</p>
|
||||
<img class="bigimg" src="/images/riot-tut-2.png" />
|
||||
<p>Under Advanced, click Other and enter in <code>https://matrix.9iron.club</code>:</p>
|
||||
<img class="bigimg" src="/images/riot-tut-3.png" />
|
||||
<p>Click Next and enter in your account details:</p>
|
||||
<img class="bigimg" src="/images/riot-tut-4.png" />
|
||||
<p>If you would like to set up encryption, follow the prompts. I would recommend doing so for account recovery. After that:</p>
|
||||
<img class="bigimg" src="/images/riot-tut-5.png" />
|
||||
<p>You're done!</p>
|
||||
<p>After registering, you will automatically be added to the Welcome room. To find more rooms, hit "Explore". You can also create a room and invite other users to it.</p>
|
||||
</div>
|
||||
<div class="section" id="voicechat">
|
||||
<h1>Voice Chat</h1>
|
||||
<p>Matrix uses a plugin called Jitsi for voice chat. Each Jitsi chat is unique to its own room. To add one, click this button:</p>
|
||||
<img class="bigimg" src="/images/riot-vc-1.png" />
|
||||
<p>Depending on how the room permissions are set up, you may have to be an admin to add one. From here, pick Jitsi and follow the prompts:</p>
|
||||
<img class="bigimg" src="/images/riot-vc-2.png" />
|
||||
<p>Then, simply click this button to expand Jitsi and join the call:</p>
|
||||
<img class="bigimg" src="/images/riot-vc-3.png" />
|
||||
<img class="bigimg" src="/images/riot-vc-4.png" />
|
||||
<img class="bigimg" src="/images/riot-vc-5.png" />
|
||||
<p>You can also add other embeds, such as a Spotify playlist or a YouTube video. For now, these plugins are run on another server, but I may bring them into 9iron eventually.</p>
|
||||
</div>
|
||||
<div class="section" id="communities">
|
||||
<h1>Communities</h1>
|
||||
<p>Where Discord has a Server, Matrix has Communities. You can join a bunch of rooms together in a community and invite people to it. To make a community, hit the big plus button on the left side of Riot and follow the prompts.</p>
|
||||
</div>
|
||||
<div class="section" id="darkmode">
|
||||
<h1>Enabling Dark Mode</h1>
|
||||
<p>By default, Riot assumes that you light light mode. Nobody likes light mode. To turn on dark mode, click your name, click "Settings", then scroll down to the "Theme" section and pick "Dark theme". You may have to turn off "Match system theme" to do so:</p>
|
||||
<img class="bigimg" src="/images/riot-darkmode-1.png" />
|
||||
<img class="bigimg" src="/images/riot-darkmode-2.png" />
|
||||
</div>
|
||||
<div class="section" id="rules">
|
||||
<h1>Rules</h1>
|
||||
<p>The 9iron server as a whole only has two main rules:</p>
|
||||
<ul>
|
||||
<li>Upload something illegal in the United States and I'll kick your ass</li>
|
||||
<li>Break into my boxes and I'll kick your ass</li>
|
||||
</ul>
|
||||
<p>Everything beyond that is up to the room's admins. Each room has its own different set of admins and I might not necessarily be part of it.</p>
|
||||
<p>For the rooms I own (like <code>#welcome</code> and <code>#adminbs</code>), the rules are in the <code>+9:9iron.club</code> community.</p>
|
||||
</div>
|
||||
<div class="section" id="federation">
|
||||
<h1>Federation</h1>
|
||||
<p>The server on 9iron can communicate with other servers as well. If you want to chat with someone on Matrix.org or some other server, you can. When Setting up a room, add a local address and give it to the person on the other server:</p>
|
||||
<img class="bigimg" src="/images/riot-fedi-1.png" />
|
||||
<img class="bigimg" src="/images/riot-fedi-2.png" />
|
||||
<p>In this case, I would give out <code>#adminbs:9iron.club</code>. With this, the user on the other server can join the room. You can also join theirs in a similar way (ie. you get given <code>#room:matrix.org</code>)</p>
|
||||
</div>
|
||||
<div class="section" id="contact">
|
||||
<h1>Contact an Admin</h1>
|
||||
<p>If the server goes down or you need to reach out to an admin for any reason, send an email to rehashedsalt@cock.li.</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</body>
|
||||
</html>
|
@@ -3,126 +3,88 @@
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<link href="/styles/buttons.css" type="text/css" rel="stylesheet" />
|
||||
<link href="/minecraft/styles/styles.css" type="text/css" rel="stylesheet" />
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<title>9iron</title>
|
||||
<title>9iron - Modded Minecraft</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>Modded Minecraft</h1>
|
||||
<p>It's been a go-to of ours for a while. Ongoing and historical modpacks are listed here for your convenience and participation.</p>
|
||||
<p>At-a-glance information is provided here for the various packs we play.</p>
|
||||
<div class="iconbuttoncontainer">
|
||||
<a href="/minecraft/setup" class="iconbutton">
|
||||
<i class="fa fa-play"></i>
|
||||
<h1>Setup</h1>
|
||||
<p>Set up an entire modded Minecraft environment</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1>Current Modpacks</h1>
|
||||
<div class="subcontainer">
|
||||
<i class="badge fa fa-star"></i>
|
||||
<h2>The 1.7.10 Magic Pack</h2>
|
||||
<p><code>magic.thefuck.how</code></p>
|
||||
<p><a href="/files/magic-1.7.10-2.zip">Download</a> (MultiMC)</p>
|
||||
<p>1.7.10, Forge 1614</p>
|
||||
<p>Oh man, this one. We ended up going back to this pack at least 5(?) times because of how well it played. We were enthralled by the amount of content, especially the first time around. It's a heavy magic pack with Botania, Blood Magic, Thaumcraft, Witchery, and as many good addons for each as we could cram in there. It comes with numerous atmosphere mods, like World Tooltips, Dynamic Surroundings, SoundFilters, and more.</p>
|
||||
<p>It's been thoroughly burned out for us, but it might be right up your alley. May it give you as much entertainment as it gave us.</p>
|
||||
<p>A stock install ships with OptiFine, too, but it's not required.</p>
|
||||
<p>As a 1.7.10 pack, the server will not intelligently disable client-side-only mods. Scour it before deploying.</p>
|
||||
<p>Changelog:</p>
|
||||
<ul>
|
||||
<li>2020-12-31: Reexported as a MultiMC instance</li>
|
||||
<li>Not even fucking trying</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1>Old Modpacks</h1>
|
||||
<div class="subcontainer">
|
||||
<h2>Material Energy^5</h2>
|
||||
<p><a href="/files/me5.zip">Download</a> (MultiMC)</p>
|
||||
<p>You and a bunch of other guys are locked in an extradimensional space ship. The universe has imploded and your only methods of gathering resources are to scavenge them from small pieces of the universe stored in Spatial I/O cells.</p>
|
||||
<p>It includes fun shit like ProjectE (heavily gimped), MineChem, Metallurgy, and the usual suite of tech mods. Heavily quest-focused.</p>
|
||||
</div>
|
||||
<div class="subcontainer">
|
||||
<h2>botaniapack-1</h2>
|
||||
<p><code>botania.mc.9iron.club</code></p>
|
||||
<p><a href="/files/botaniapack-1.zip">Download</a> (MultiMC)</p>
|
||||
<p>1.10.2, Forge 2511</p>
|
||||
<p>A basic modpack with pretty much just Botania and Quark. Initially authored by KidiroInfiniti</p>
|
||||
<p>World backups:
|
||||
<ul>
|
||||
<li>2020-04-08: <a href="/files/survival-2020-04-08-02-30-09.zip">survival</a>, <a href="/files/creative-2020-04-08-03-16-50.zip">creative</a></p></li>
|
||||
</ul>
|
||||
<p>Changelog:</p>
|
||||
<ul>
|
||||
<li>2020-07-29 - Removed Mo Creatures (fuck you, Carson)</li>
|
||||
<li>2020-07-25 - Made pack a MultiMC importable zip</li>
|
||||
<li>2020-03-31 - Calmed down Chance Cubes</li>
|
||||
<li>2020-03-25 - Removed Shoulder Surfing, resolved server-client discrepencies</li>
|
||||
<li>2020-03-13 - <em>Server-Side</em>: Added Dynmap, see link next above</li>
|
||||
<li>2020-03-09 - Tweak server roles, bump chunk limit up to 10k</li>
|
||||
<li>2020-03-07 - Tweak Wither Skeleton Tweaks to remove OP swords and make skulls easier to get</li>
|
||||
<li>2020-02-29 - <em>Server-Side</em>: Updated Forge chunk limit per ticket to 10k (<a href="https://github.com/FTBTeam/FTB-Utilities/issues/504">#504</a>)</li>
|
||||
<li>2020-02-28 - Added FTBUtils for chunk loading</li>
|
||||
<li>2020-02-25 - Added Quark for TE piston movement, among other things</li>
|
||||
<li>2020-02-23 - Initial release</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subcontainer">
|
||||
<h2>Magic Pack Redux</h2>
|
||||
<p><code>magic-main.mc.9iron.club</code></p>
|
||||
<p><a href="/files/magicpackredux.zip">Download</a> (MultiMC)</p>
|
||||
<p>1.12.2, Forge 2673</p>
|
||||
<p>The epic saga of the magic pack continues, this time with a version of Blood Magic where cutting yourself is actually a solution and a version of Thaumcraft that is dramatically more lackluster than its ancestors. Comes with other stuff, too, like Embers, Wizardry, Psi, and a whole host of other fun shit.</p>
|
||||
<p>World Backups:</p>
|
||||
<ul>
|
||||
<li>2020-07-27: <a href="/files/magic-main-2020-07-27.tar.gz">survival</a></li>
|
||||
</ul>
|
||||
<p>Changelog: </p>
|
||||
<ul>
|
||||
<li>2020-06-24: Updated all of the things, switch to MultiMC pack style</li>
|
||||
<li>2020-06-21: Re-released here for all to enjoy</li>
|
||||
<li>????-??-??: Things happened, pack was actually developed</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subcontainer">
|
||||
<h2>Rotary Pack</h2>
|
||||
<p><code>rotary-main.mc.9iron.club</code></p>
|
||||
<p>Download: <a href="/files/rotarypack-client.zip">Client</a> (simple zip), <a href="/files/rotarypack-server.zip">Server</a></p>
|
||||
<p>1.7.10, Forge 1614</p>
|
||||
<p>A pack with a ton of Reika's mods and AE2.</p>
|
||||
<p>World Backups:</p>
|
||||
<ul>
|
||||
<li>2020-07-23: <a href="/files/rotary-main-2020-07-23.tar.gz">survival</a></li>
|
||||
</ul>
|
||||
<p>Changelog:</p>
|
||||
<ul>
|
||||
<li>2020-07-07: Fixed cable anchor recipe on server</li>
|
||||
<li>2020-06-01: Initial release</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subcontainer">
|
||||
<h2>FTB Ultimate Reloaded 1.8.0</h2>
|
||||
<p><a href="https://www.curseforge.com/minecraft/modpacks/ftb-ultimate-reloaded/files/2746965">Download</a> (Curse)</p>
|
||||
<p>1.12.2, Forge 2838</p>
|
||||
<p>It's a remake of FTB Ultimate, and contains such wonderful things as Modular Powersuits and a complete lack of shitty expert mode stuff.</p>
|
||||
<p>We're using pack version 1.8 instead of 1.9 because this was the last version that the pack authors made a server bundle for. Looks like 1.9 was mostly just patches anyway.</p>
|
||||
<p>You'll also have to add the following mods:</p>
|
||||
<ul>
|
||||
<li><a href="https://www.curseforge.com/minecraft/mc-mods/gravestone-mod/files/2608278">Gravestone Mod</a></li>
|
||||
</ul>
|
||||
<p>Changelog:</p>
|
||||
<ul>
|
||||
<li>2020-04-24 - Enabled TechReborn power conversion</li>
|
||||
<li>2020-04-23 - Added NetherPortalFix</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="/minecraft/setup" class="startbutton">
|
||||
<i class="fa fa-arrow-right"></i>
|
||||
<p>Confused? Click here to get started</p>
|
||||
</a>
|
||||
</div>
|
||||
<?php
|
||||
# Define a pack card generator function
|
||||
function echo_pack($pack) {
|
||||
# Add basic coloration to the element, if it exists
|
||||
if (file_exists("packs/$pack/color")) {
|
||||
$color = file_get_contents("packs/$pack/color");
|
||||
echo "<div class=\"modpack\" style=\"background: $color; color: var(--background);\">";
|
||||
} else {
|
||||
echo '<div class="modpack">';
|
||||
}
|
||||
|
||||
# Push an image if we've got one of those
|
||||
if (file_exists("packs/$pack/icon.png")) {
|
||||
echo "<img src=\"/minecraft/packs/$pack/icon.png\" class=\"packicon\"/>";
|
||||
}
|
||||
|
||||
# Get the pack description
|
||||
$desc = "<h2>$pack</h2><p>A modpack.</p>";
|
||||
$descfile = "packs/$pack/desc.html";
|
||||
if (file_exists($descfile)) {
|
||||
$desc = file_get_contents($descfile);
|
||||
}
|
||||
echo "$desc";
|
||||
|
||||
# A small button to browse previous world downloads
|
||||
if (file_exists("../files/packs/$pack/worlds")) {
|
||||
echo "<p><a href=\"https://srv.9iron.club/files/packs/$pack/worlds\" class=\"worldsbutton\">Browse world backups</a></p>";
|
||||
}
|
||||
|
||||
# And a bright big download button
|
||||
echo "<a href=\"https://srv.9iron.club/files/packs/$pack/latest.zip\" class=\"downloadbutton\">Download</a>";
|
||||
echo '</div>';
|
||||
}
|
||||
# Get list of modpacks
|
||||
$dir = new DirectoryIterator("packs");
|
||||
$packs = array();
|
||||
foreach ($dir as $fileinfo) {
|
||||
if (!$fileinfo->isDot() && $fileinfo->isDir()) {
|
||||
array_push($packs, $fileinfo->getFilename());
|
||||
}
|
||||
}
|
||||
|
||||
# Parse through and provide their information
|
||||
if (!empty($packs)) {
|
||||
echo '<div class="section">';
|
||||
# If we have a current pack, print that upfront
|
||||
if (file_exists("packs/current") && readlink("packs/current")) {
|
||||
# We have a valid current pack, remove it from the list and print it upfront
|
||||
$currentpack = readlink("packs/current");
|
||||
$packs = array_diff($packs, ["$currentpack", "current"]);
|
||||
echo '<div class="currentcontainer"><h1>Current Modpack</h1>';
|
||||
echo_pack($currentpack);
|
||||
# If there's a server IP name along with that, print that out too
|
||||
if (file_exists("packs/currentip")) {
|
||||
$ip = file_get_contents("packs/currentip");
|
||||
echo "<p><code class=\"bigcode\">$ip</code></p>";
|
||||
}
|
||||
echo '</div></div><div class="section">';
|
||||
}
|
||||
# Sort the list of remaining packs
|
||||
sort($packs);
|
||||
# Print the rest of them
|
||||
echo '<h1>Modpacks</h1><div class="packcontainer">';
|
||||
foreach ($packs as $pack) {
|
||||
echo_pack($pack);
|
||||
}
|
||||
echo '</div></div>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</body>
|
||||
|
3
minecraft/packs/1.10.2-botaniapack/desc.html
Normal file
3
minecraft/packs/1.10.2-botaniapack/desc.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<h2>Botania</h2>
|
||||
<p>1.10.2, Forge 2511</p>
|
||||
<p>A pack with <i>just</i> Botania. And Quark and a couple other minor things. Whatever.</p>
|
BIN
minecraft/packs/1.10.2-botaniapack/icon.png
Normal file
BIN
minecraft/packs/1.10.2-botaniapack/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
3
minecraft/packs/1.12.2-magicpackredux/desc.html
Normal file
3
minecraft/packs/1.12.2-magicpackredux/desc.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<h2>Magic Pack Redux</h2>
|
||||
<p>1.12.2, Forge 2673</p>
|
||||
<p>It's like the 1.7.10 Magic Pack, but with more updated mods and dramatically less Thaumcraft. As a bonus, you get Embers, Psi, and a ton of other side mods to explore.</p>
|
BIN
minecraft/packs/1.12.2-magicpackredux/icon.png
Normal file
BIN
minecraft/packs/1.12.2-magicpackredux/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 318 KiB |
3
minecraft/packs/1.16.5-valhelsia/desc.html
Normal file
3
minecraft/packs/1.16.5-valhelsia/desc.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<h2>Valhelsia 3+</h2>
|
||||
<p>1.16.5, Forge 36.1.13</p>
|
||||
<p>Valhelsia 3.3.1 with some tweaks, such as chunk loaders and a disappointingly non-clicky version of InventoryTweaks.</p>
|
BIN
minecraft/packs/1.16.5-valhelsia/icon.png
Normal file
BIN
minecraft/packs/1.16.5-valhelsia/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
3
minecraft/packs/1.7.10-magicpack/desc.html
Normal file
3
minecraft/packs/1.7.10-magicpack/desc.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<h2>The Magic Pack</h2>
|
||||
<p>1.7.10, Forge 1614</p>
|
||||
<p>A very, <i>very</i> well-worn modpack with a ton of magic content. Includes Thaumcraft, Blood Magic, Botania, Witchery, Ars, and a couple others.</p>
|
BIN
minecraft/packs/1.7.10-magicpack/icon.png
Normal file
BIN
minecraft/packs/1.7.10-magicpack/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 79 KiB |
3
minecraft/packs/1.7.10-rotarypack/desc.html
Normal file
3
minecraft/packs/1.7.10-rotarypack/desc.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<h2>Rotarypack</h2>
|
||||
<p>1.7.10, Forge 1614</p>
|
||||
<p>A pack by autists, for autists. Explore revolutionary new power types and hyperrealistic nuclear reactors. And also AE2's there.</p>
|
1
minecraft/packs/current
Symbolic link
1
minecraft/packs/current
Symbolic link
@@ -0,0 +1 @@
|
||||
1.16.5-valhelsia
|
1
minecraft/packs/currentip
Normal file
1
minecraft/packs/currentip
Normal file
@@ -0,0 +1 @@
|
||||
thefuck.how
|
@@ -2,37 +2,36 @@
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<link href="/minecraft/styles/styles.css" type="text/css" rel="stylesheet" />
|
||||
<title>9iron - Modded Minecraft Setup</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<a href="/minecraft" class="startbutton">
|
||||
<i class="fa fa-arrow-left"></i>
|
||||
<p>Return to modpacks</p>
|
||||
</a>
|
||||
<h1>Setting Up Modded Minecraft</h1>
|
||||
<p>This guide will set you up with the following:</p>
|
||||
<ul>
|
||||
<li>Java, because that's <em>still</em> a pain in the dick to set up</li>
|
||||
<li>A new Minecraft game launcher to help organize modpacks</li>
|
||||
<li>Whatever modpack we're playing</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="java">
|
||||
<h1>1. Installing Java</h1>
|
||||
<div class="subcontainer" id="java">
|
||||
<h2>1. Installing Java</h2>
|
||||
<p>Minecraft depends on Java. It's important that you have the latest 64-bit edition of Java installed.</p>
|
||||
<ol>
|
||||
<li>Download <a href="https://sdlc-esd.oracle.com/ESD6/JSCDL/jdk/8u251-b08/3d5a2bb8f8d4428bbe94aed7ec7ae784/jre-8u251-windows-x64.exe?GroupName=JSC&FilePath=/ESD6/JSCDL/jdk/8u251-b08/3d5a2bb8f8d4428bbe94aed7ec7ae784/jre-8u251-windows-x64.exe&BHost=javadl.sun.com&File=jre-8u251-windows-x64.exe&AuthParam=1593609737_aee69d42e03369a5aed61477a858b110&ext=.exe">the 64-bit edition of Java 8</a></li>
|
||||
<li>Run it</li>
|
||||
<li>You're done</li>
|
||||
<li>Go to <a href="https://www.java.com/en/download/manual.jsp">Java Downloads</a></li>
|
||||
<li>Download and run the "Windows Offline (64-bit)" option</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="section" id="multimc">
|
||||
<h1>2. Installing MultiMC</h1>
|
||||
<div class="subcontainer" id="multimc">
|
||||
<h2>2. Installing MultiMC</h2>
|
||||
<p>MultiMC is the launcher that we use to organize our modpacks. It has a number of features to make pack installation easier.</p>
|
||||
<ol>
|
||||
<li>Download <a href="https://multimc.org/#Download">MultiMC</a></li>
|
||||
<li>Extract the zip file somewhere, like your desktop or Documents</li>
|
||||
<li>Extract the zip file somewhere, like your desktop or Documents folder</li>
|
||||
<li>Run <code>multimc.exe</code></li>
|
||||
</ol>
|
||||
<p>MultiMC will then run you through basic setup. You can accept the defaults, but change the following:</p>
|
||||
<p>MultiMC will then run you through basic setup. You can accept the defaults, but will probably want to change the following:</p>
|
||||
<ul>
|
||||
<li>On the page where it asks you to set up Java, set these values:</li>
|
||||
<ul>
|
||||
@@ -42,28 +41,32 @@
|
||||
</ul>
|
||||
<p>After that, it'll drop you to the main screen and you can progress to the next step.</p>
|
||||
</div>
|
||||
<div class="section" id="pack">
|
||||
<h1>3. Installing a Modpack</h1>
|
||||
<p>Packs on the server, as of the time of writing this document, will from now on be provided in a format that's much easier to use with MultiMC. If, for whatever reason, you have to install one that <em>isn't</em>, flag down a moderator and have them show you. It's honestly a pretty involved process.</p>
|
||||
<div class="subcontainer" id="pack">
|
||||
<h2>3. Installing a Modpack</h2>
|
||||
<p>All modpacks here are installable through MultiMC.</p>
|
||||
<ol>
|
||||
<li>Download the modpack you want to play</li>
|
||||
<li>Open MultiMC</li>
|
||||
<li>Hit the "Add Instance" button in the upper-left</li>
|
||||
<li>Pick the option on the left called "Import from Zip"</li>
|
||||
<li>Copy the pack download link from the previous page and stick it in the URL</li>
|
||||
<li>Browse for the zip you just downloaded</li>
|
||||
<li>Click OK</li>
|
||||
</ol>
|
||||
<p>This will set you up with a nice, shiny new instance with all the mods ready to go. Double-click it to launch it.</p>
|
||||
<p>If MultiMC prompts for it, be sure to set up your Minecraft account.</p>
|
||||
</div>
|
||||
<div class="section" id="joining">
|
||||
<h1>4. Joining a Server</h1>
|
||||
<p>This one's pretty easy, thankfully</p>
|
||||
<div class="subcontainer" id="joining">
|
||||
<h2>4. Joining the Server</h2>
|
||||
<p>Now the last thing we need to do is connect you to the server.</p>
|
||||
<ol>
|
||||
<li>Launch the game by double-clicking the modpack icon</li>
|
||||
<li>Copy the server URL (something like <code>modpack.mc.9iron.club</code>)</li>
|
||||
<li>Open the game, go to Multiplayer, and click "Add Server"</li>
|
||||
<li>In the game, go to "Multiplayer", and click "Add Server"</li>
|
||||
<li>Stick whatever name you want in the name field and paste the server URL in the "IP Address" field</li>
|
||||
<li>Double-click it to join</li>
|
||||
</ol>
|
||||
<p>You're looking for the huge, can't-miss-it serif font with the gray background:</p>
|
||||
<code class="bigcode">serverip.blah.blah</code>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
|
90
minecraft/styles/styles.css
Normal file
90
minecraft/styles/styles.css
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* styles.css
|
||||
* Copyright (C) 2021 Vintage Salt
|
||||
*
|
||||
* Distributed under terms of the MIT license.
|
||||
*/
|
||||
|
||||
a.startbutton {
|
||||
background: var(--greenlink);
|
||||
border-radius: 8px;
|
||||
box-shadow: 5px 5px var(--shadow);
|
||||
color: var(--background);
|
||||
display: block;
|
||||
font-size: 140%;
|
||||
padding: 1em;
|
||||
}
|
||||
a.startbutton:hover {
|
||||
background: var(--greenlink-hover);
|
||||
}
|
||||
a.startbutton i {
|
||||
float: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
a.startbutton p {
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
code.bigcode {
|
||||
background: var(--background);
|
||||
border-radius: 8px;
|
||||
display: block;
|
||||
font-size: 400%;
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
padding: 0.5em;
|
||||
}
|
||||
div.currentcontainer {
|
||||
border: 4px solid var(--line);
|
||||
border-radius: 8px;
|
||||
box-shadow: 5px 5px var(--shadow);
|
||||
margin: 1em 0;
|
||||
padding: 1em;
|
||||
}
|
||||
div.packcontainer {
|
||||
display: grid;
|
||||
grid-gap: 1em;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
div.modpack {
|
||||
background: var(--background-bright);
|
||||
border-radius: 8px;
|
||||
box-shadow: 5px 5px var(--shadow);
|
||||
display: block;
|
||||
margin: auto 0 0 0;
|
||||
padding: 1em;
|
||||
}
|
||||
div.modpack h2 {
|
||||
display: inline;
|
||||
vertical-align: middle;
|
||||
}
|
||||
div.modpack a.downloadbutton {
|
||||
background: var(--link);
|
||||
border-radius: 8px;
|
||||
box-shadow: 5px 5px var(--shadow);
|
||||
color: var(--background);
|
||||
display: block;
|
||||
font-size: 120%;
|
||||
font-weight: bold;
|
||||
margin: 0 auto;
|
||||
max-width: 24em;
|
||||
padding: 1em;
|
||||
text-align: center;
|
||||
}
|
||||
div.modpack a.downloadbutton:hover {
|
||||
background: var(--link-hover);
|
||||
}
|
||||
img.packicon {
|
||||
border-radius: 50%;
|
||||
float: right;
|
||||
height: 48px;
|
||||
width: 48px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
div.packcontainer {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
@@ -1,32 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<title>9iron - Midnight Musings</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>Midnight Musings</h1>
|
||||
<p>It's really more like 5 in the morning, but whatever.</p>
|
||||
<p>I'm honestly not entirely sure what I want out of this website. On the one thing, I could host a blog here, but on the other, I'm trying to do so by writing out the markup by fucking hand. Like c'mon, guy.</p>
|
||||
<p>Perhaps it's just because it's way way late, perhaps it's because I didn't get enough sleep last night, perhaps a combination thereof, but I don't really care. I feel like there's charm in just writing it out in HTML and committing it, waiting for my box to pull it at noon.</p>
|
||||
<p>But back to the point at hand: I have no clue what to do here. Like, it already aggregates links just fine. I've lost many an hour just making this place look good and all I use it for is a New Tab page that I break every fifth commit and ignore half the time anyway.</p>
|
||||
<p>Perhaps it's the right idea to host a blog here. Already I feel a bit clearer-headed writing my thoughts out like this (even if it is 5AM and my eyes hurt). I've gotta figure a few things out, probably script the production of these posts and manage an RSS feed, but altogether I'm starting to warm up to the idea.</p>
|
||||
<p>You wouldn't think it reading through this stream-of-consciousness garbage, but I used to be pretty good at writing. I used to be able to write very coherent papers with good pacing and pleasing verbiage, but most of those abilities have fallen off to the wayside since the only things I've written since are tweets and reddit posts. I've started to swear a lot more in place of using accurate wording to express my points-</p>
|
||||
<p>God dammit, that's like the third time 29 Years has come on. Hang on.</p>
|
||||
<p>There we go.</p>
|
||||
<p>-which is possibly the worst fate for a writer. That and carpal tunnel, I suppose.</p>
|
||||
<p>Yeah, this oughtta be the remedy for my prose that I've been looking for. Getting back into the rhythm of writing for fun has been on my backlog for so long and I've now got the opportunity to execute it. It'll be healthy, for sure.</p>
|
||||
<p>But typing this out by hand sucks.</p>
|
||||
<p>- Salt</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/sidebar.html';?>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,32 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<title>9iron - Nightly Blogpost Time</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>Nightly Blogpost Time</h1>
|
||||
<p>I work second shift, currently, which puts me going to bed at like 4-5AM, sometimes 6-7 depending on my shift. Naturally, <em>no</em> sensible motherfucker is up at this hour, which gives me a lot of time to do nothing but write code and dump my thoughts.</p>
|
||||
<p>I'm really enjoying just how much thoughtless (thoughtful?) garbage I'm able to throw at this terminal in a night. It really helps precipitate my thoughts into more solid opinions, for sure.</p>
|
||||
<p>But enough about that.</p>
|
||||
<p>Today was pretty nice. Played a lot of modded MC and wrote up a good few pages documenting my setup. At this rate, I'm probably gonna decomm the dokuwiki and just write it all out here. Looks a lot cleaner over here.</p>
|
||||
<p>I feel like I'm starting to get the hang of minimalist webdev. Regardless, my current workflow is... messy, to say the least. I really shouldn't be dicking around knee-deep in HTML for every post when I could write a small preprocessor. I <em>really</em> need to sort out deployment, too. Currently, I just remote into the server and <code>sudo git pull</code> the site down every time I write a post, which could be hella automated. And then there's the entire concept of actually working on a feed, which is insanely difficult to do given my workflow.</p>
|
||||
<p>See, one of the things I want this site to be (and not necessarily the child sites on this domain) is stateless. I want to be able to clone the repo to a webroot and launch Apache and just have my site. No fuss, no mess. Now I've already broken this paradigm by including modpacks in the webroot in the gitignore'd <code>/files</code> directory, but I'm willing to exclude 200MB binary files for the sake of sanity. But as such, I don't want anything on the box to generate the feed without my intervention.</p>
|
||||
<p>I suppose I could automatically generate the feed with a script based on the contents of files in here. It shouldn't be too hard to just copy the contents of a couple tags over in a Python script. And I suppose with that I could just nail a new entry to the top of the file, make a commit, and push it alongside the post.</p>
|
||||
<p>Maybe this workflow isn't too bad. Just needs a little glue is all.</p>
|
||||
<div class="break"></div>
|
||||
<p>I'm hoping that, once I get in the habit of making these posts, I'll have much clearer thoughts planned out. If I make it a habit, I'll start thinking over the course of the day what sort of things I want to include, what thoughts I want to present, etc. As such, I apologize in advance for the next like twenty of these fucking things. They're gonna read like ass, just like this one.</p>
|
||||
<p>But that's okay. I'll improve.</p>
|
||||
<p>- Salt</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/sidebar.html';?>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,43 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<title>9iron - Inflation in Modded Minecraft</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>Inflation in Modded Minecraft</h1>
|
||||
<p>It's hard to believe Minecraft is 9 years old, and even harder to believe that <a href="https://howoldisminecraft1710.today/">the single biggest version for modded</a> is almost 6. There's been so much refinement in modding tools and mods themselves since; orders of magnitude more complexity, more things, <em>cooler</em> things. The dev for Factorio once said that a major inspiration for him was IC2. <em>It's that good</em>. But it's inflated to hell and back.</p>
|
||||
<p>Let's take a popular mod as a baseline, as I feel that it best represents (and is the posterboy for) its power system: Thermal. A basic generator produces 80RF/t (unit power per unit time) and can handle a basic powered furnace and a Pulverizer simultaneously. With upgrades, some of the largest basic Thermal generator setups I've seen produce upwards of 20-80kRF/t, can power <em>damn</em> good furnaces, and are easily scaleable.</p>
|
||||
<p>Thermal also provides an addon mod: Redstone Arsenal. This mod adds tools, armor, and weapons that consume RF to work. They're upgrades from diamond, can never break, but require infrastructure. It's a good system. The armor holds 800kRF per piece and consumes 200 per hit. Wearing four pieces of armor, this means it takes half a second of basic shitty coal generator power production to effectively add one durability point to your better-than-diamond armor.</p>
|
||||
<p>Enter third-party addon mods. There exist many, <em>many</em> mods that produce and consume several orders of magnitude more power. Extreme Reactors can produce 100<em>M</em>RF/t without breaking a sweat, Draconic Evolution is notorious for its power usage (4MRF to conjure an overpowered arrow out of thin air) and invincibility armor, RFTools Dimensions provides user-controllable worlds and lets you buy resources that you should <em>never</em> allow a player to buy given that you have the power to support the place long enough to get your shit and get out, etc.</p>
|
||||
<p>Now, these mods weren't all developed at the same time. Early on, the most insane mod you could get was Buildcraft, which had a Quarry. Then came IC2, which had cool stuff like a mining laser, OG powered armorsuits, and nuclear reactors that would blow your base a new asshole if you weren't careful. Thermal came along and eventually pioneered a new power system, AE followed and allowed for centralized storage and automation, etc.</p>
|
||||
<p>Basically, what I'm getting at is that the modded Minecraft ecosystem has inflated insanely quickly. Power costs are somewhere between 3-9 (or 12!) orders of magnitude off of what the developers of those power systems originally intended. Resources in endgame ME systems can number in the millions. Damage has been affected too, but dramatically less so because functional overkill is really low in Vanilla and combat is uninteresting regardless.</p>
|
||||
<p>What made me realize this is an ongoing playthrough with Botania. Just Quark and Botania. And Spartan Weapons because a friend wanted it, I guess. You move from generation on the order of a 16th of a Mana Pool to generation on the order of half a pool. It's just enough difference in stages to make you want to progress, and that's perfect.</p>
|
||||
<p>The power curve also drops off really quickly. The highest damage sword Botania offers is only equivalent to diamond, same with the armor. Instead, it offers little odds and ends that are usually reserved for magic mods: quicker movement, health regen, second sight, potion effects, longer reach, and other unique trinkets. It adds swords that fire laser beams if you wait for the attack timer, making combat more interesting. In effect, what this means is that a botanist gathers much different power than would be obtained in the larger RF ecosystem.</p>
|
||||
<p>I'm finding that, in the end, a pack with just Botania plays better than a pack with a bunch of RF tech mods. Botania has just as much focus on automation as a tech pack would (and with significantly more automation complexity, but that's a topic for another post) but doesn't throw out Vanilla balance. Combat remains challenging and engaging, the environment isn't trivialized by creative flight early on, and the endgame is powerful but grounded.</p>
|
||||
<p>The point boils down to this: slow down and don't trivialize shit.</p>
|
||||
<p>Every mod makes their stuff more powerful than the one that preceeded it to make sure people use it. What ends up happening is that earlier mods get shunted to the side because their numbers aren't big enough, Vanilla included, even if there's absolutely <em>no</em> need for that much power. So the solution is as such:</p>
|
||||
<ul>
|
||||
<li>Normalize power generation and consumption across machines in a pack</li>
|
||||
<li>Put a cap on the player's power and ensure that it doesn't trivialize anything</li>
|
||||
<li>If you do trivialize something, add something else to replace it</li>
|
||||
<li>Create in-world challenges, like things to fight or places to explore and conquer</li>
|
||||
<li>Omissions are just as powerful as inclusions in pack development</li>
|
||||
<li>High resource costs do not justify breaking balance. No exceptions.</li>
|
||||
</ul>
|
||||
<p>Fuck Draconic Evolution.</p>
|
||||
<p>Make more mob mods.</p>
|
||||
<p>Somebody needs to do a combat overhaul.</p>
|
||||
<p>Stop putting creative items at the ends of your packs.</p>
|
||||
<p>- Salt</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/sidebar.html';?>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,34 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<title>9iron - An Update</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>An Update</h1>
|
||||
<p>Just want to keep this site up to speed.</p>
|
||||
<p>It's been months since my last post and and a lot has happened. I've landed a job as an actual sysadmin, made friends, eased stress, and suffered loss. It's been exhausting, which is why I haven't posted much.</p>
|
||||
<p>On top of that, I have basically no social media presence so nobody reads these things anyway. I know I said I would do this for myself, but as it turns out, doing things for yourself is hard, and I'm no social butterfly by any metric.</p>
|
||||
<div class="break"></div>
|
||||
<p>Beyond personal shit, though, I have updated this site a bit. In no particular order:</p>
|
||||
<ul>
|
||||
<li><b>Gitea registrations are now open!</b> Bring your friends and encourage people to run around and write code and file bug reports and do whatever they do on git hosts. Commit bigass binary files and I'll kick your ass.</li>
|
||||
<li>The website is undergoing a major redesign, and this probably won't even be its final form. There's a lot to do here; I'm no webdev.</li>
|
||||
</ul>
|
||||
<p>The Ansible repo that I use to manage 9iron has gotten significantly more complex and significantly more organized. I'm making good use of tags, making good inventory, making good playbooks, and more. Really there are only a few things I need to work on, like separating out roles a bit more and separating plays between installation, configuration, and removal. Oh, and getting ansible-pull figured out.</p>
|
||||
<p>My weird obsession with statelessness is waning as I figure out backup scripts. Just need to hook into the S3 API and push weekly backups to cold buckets and we're good to start rolling with statefulness again. I realized really quickly that basically any deployment is going to have state.</p>
|
||||
<p>I ported my tModLoader development environment to Linux and <em>almost</em> everything works. The only thing I can't quite figure out is how to get edit-and-continue to work with the Steam Runtime, but once either that's sorted or I trash my packageset with Terraria dependencies, I should be ready to pick Sutando Da back up. It's a mod I wrote a while back to try to add stands and it was entirely because I wanted to try to implement The World. Timestop actually works pretty well, surprisingly; I didn't think TML would have all the right hooks but it <em>definitely</em> does.</p>
|
||||
<p>Still listening to The National.</p>
|
||||
<p>Things are looking bright.</p>
|
||||
<p>- Salt</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/sidebar.html';?>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,31 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<title>9iron - Dumb Shit</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>Dumb Shit</h1>
|
||||
<p>Finally got a wild hare up my ass and redid the CSS. Again. Outside of that, only thing that's been going on is what feels like the collapse of my circle of friends. F. Oh, and Matrix I guess.</p>
|
||||
<p>I'm not gonna get into the details of it here since this <em>is</em> a public blog and my friends <em>can</em> (read: don't) read it from time to time. Hell, nobody does. But regardless, what <em>did</em> happen feels unjust and I can't help but feel partially responsible for it. I know I wasn't the axeman, but being supportive isn't a virtue.</p>
|
||||
<p>I'm still sorry, Sam.</p>
|
||||
<div class="break"></div>
|
||||
<p>Anyway, onto other happenings.</p>
|
||||
<p>I now have a Matrix server with open registrations! Check out <a href="/matrix">the setup page</a> for details. At the time of writing, the tutorial still mentions Riot, but it's been rebranded to Element. Should still be the same loose set of steps.</p>
|
||||
<p>I finally broke down and bought a Pinephone on like the 22nd, just waiting for that to arrive. From what I understand it and PMOS are actually in a pretty useable state, all things considered. Can't wait to have to hack together something to actually make a darn telephone call. At least I've got the know-how to automate whatever dumb bubblegum-and-duct-tape fix I brew up now.</p>
|
||||
<p>As for the CSS, I'm sure you've probably noticed that a lot has changed. I'm trying to bring this place into more-or-less parity with the rest of my rice. I know it's not exactly the most productive pasttime, but it's therapeutic: just sit back, throw on some nice relaxing music, and write away. Helluva lot less frustrating than trying to diagnose an incomplete Nagios deployment (though I do still need to finish that, fuck). Everything's a bit boxier, a bit tighter, less round and weird, and ideally more useable.</p>
|
||||
<p>I'm also finding it pretty hard to stay on-task with all this technical shit lately, think I might be getting burnt out. I mean, it's a third shift work-from-home position and all my other hobbies involve computers in some way; there's nothing else it could be. Whenever it may be, I need to take the next chance I get to jump away from all this for a while.</p>
|
||||
<p>Mad about politics,</p>
|
||||
<p>But what can you do.</p>
|
||||
<p>- Salt</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/sidebar.html';?>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -1,54 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<link rel="shortcut icon" href="/favicon.ico" />
|
||||
<title>9iron - Posts</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>Posts</h1>
|
||||
<p>Included is a list of all blog posts I've written here, latest first. I try to post as frequently as I can make an excuse to.</p>
|
||||
<p>It's also got a <a href="/feed">feed</a> if you want it.</p>
|
||||
<dl>
|
||||
<?php
|
||||
$dir = $_SERVER['DOCUMENT_ROOT']."/posts/";
|
||||
$posts = scandir($dir, 1);
|
||||
$ignore = array("index.php", "feed.php", ".", "..");
|
||||
$extensions = array(".php", ".html", ".htm");
|
||||
foreach ($posts as &$post) {
|
||||
// See if it's a blacklisted file
|
||||
if (in_array($post, $ignore)) {
|
||||
continue;
|
||||
}
|
||||
$postlocation = $_SERVER['DOCUMENT_ROOT']."/posts/".$post;
|
||||
$posturl = "/posts/".$post;
|
||||
// Get the title
|
||||
$title = "Title not available";
|
||||
$summary = "Summary not available";
|
||||
$dom = new DOMDocument();
|
||||
if ($dom->loadHTMLFile($postlocation)) {
|
||||
$xpath_section = new DOMXpath($dom);
|
||||
$list = $dom->getElementsByTagName("title");
|
||||
if ($list->length > 0) {
|
||||
$title = $list->item(0)->textContent;
|
||||
}
|
||||
$list = $xpath_section->query('//div[@class="section"]//p');
|
||||
if ($list->length > 0) {
|
||||
$summary = $list->item(0)->nodeValue;
|
||||
}
|
||||
}
|
||||
// Produce a list item
|
||||
$post = str_replace($extensions, "", $post);
|
||||
$title = str_replace("9iron - ", "", $title);
|
||||
echo "<a href=\"$posturl\"><div class=\"subcontainer\"><h3>$post: $title</h3><p>$summary</p></div></a>";
|
||||
}
|
||||
?>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</body>
|
||||
</html>
|
75
smz3mw/index.php
Normal file
75
smz3mw/index.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<title>9iron - SMZ3 Multiworld</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<h1>Setting Up the <i>Super Metroid</i>/<i>The Legend of Zelda - A Link to the Past</i> Multiworld Item Randomizer</h1>
|
||||
<p>Disclaimer: Most of this information is duplicated from <a href="https://samus.link/mwinstructions">upstream documentation</a>. If anything here breaks, please consult that guide as the instructions may have changed.</p>
|
||||
<div class="subcontainer">
|
||||
<h2>1. Installing QUSB2SNES</h2>
|
||||
<p>It's a big fancy name that means "driver to allow your emulator to talk to the multiworld server".</p>
|
||||
<ol>
|
||||
<li><a href="https://github.com/Skarsnik/QUsb2snes/releases">Go here</a></li>
|
||||
<li>Download the latest release (expand "Assets" and pick the file that ends in ".exe")</li>
|
||||
<li>Put it somewhere</li>
|
||||
<li>Run it</li>
|
||||
<li>Pick the option for "Enable Lua Bridge (snes9x-rr)" (you may have to right-click the tray icon if you don't get a window when you start the application)</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="subcontainer">
|
||||
<h2>2. Installing Snes9x-rr</h2>
|
||||
<p>We have to install a special emulator to interact with some special tooling and allow items to be sent between worlds.</p>
|
||||
<ol>
|
||||
<li><a href="https://github.com/gocha/snes9x-rr/releases/">Go here</a></li>
|
||||
<li>Download the latest release (ends in "win32.zip")</li>
|
||||
<li>Unzip it somewhere</li>
|
||||
<li>Run <code>snes9x.exe</code> to start the emulator</li>
|
||||
<li>File -> Lua Scripting -> New Lua Script Window</li>
|
||||
<li>Load "luabridge.lua" from the directory you ran snes9x out of</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="subcontainer">
|
||||
<h2>3. Connecting to the Multiworld</h2>
|
||||
<p>From here, you have an emulator and a program to expose that emulator to the internet. Now we connect it to the multiworld randomizer engine so you can join the game.</p>
|
||||
<ol>
|
||||
<li>Ask somebody for the link to the party at <a href="https://samus.link">samus.link</a></li>
|
||||
<li>Visit the link in your browser</li>
|
||||
<li>Hit the "Connect" button next to your name</li>
|
||||
<li>Upload your totally legitimately obtained Super Metroid and ALttP ROMs (the randomizer is very picky about which ones you upload; ask around for the right ones if you don't have them)</li>
|
||||
<li>Pick your favorite sprites and colors and energy beep frequency</li>
|
||||
<li>Download and play the ROM in snes9x</li>
|
||||
<li>Hate life</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="subcontainer">
|
||||
<h2>4. Playing the Game</h2>
|
||||
<p>There are a number of resources available to help you in managing the sheer amount of information that you'll need to keep track of during the randomizer. Make good use of these:</p>
|
||||
<ul>
|
||||
<li><a href="http://smalttpr.mymm1.com/tracker/">ALttP Item Tracker</a> - Plug in what items you have and it'll tell you where you can go. Accounts for crossing through Super Metroid to get to somewhere you normally couldn't</li>
|
||||
<li><a href="https://wiki.supermetroid.run/List_of_rooms">List of Rooms in Super Metroid</a> - The game is huge, so naming each room helps keep track of where you are. You can also see full screenshots of each room</li>
|
||||
</ul>
|
||||
<p>Also some tips:</p>
|
||||
<ul>
|
||||
<li>There are several points at which you can softlock in Super Metroid. Save early, save often, and know when to reset</li>
|
||||
<li>You start with a full map in Super Metroid detailing every item's location. It's very helpful</li>
|
||||
<li>There are many ways to skin a cat, some of them more or less painful than others</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Kakariko Village is incredibly lucrative early on; there are 10-15 items in that area you can acquire with literally no items</li>
|
||||
<li>Getting to the Dark World is a huge priority; you need the Moon Pearl and either a Hammer or a Glove to get there</li>
|
||||
<li>Certain trees can be pulled in ALttP to yield pickups. The pickups that drop are random for each player</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Just because you CAN get somewhere doesn't mean there will be anything helpful there. Glitches yield sequence breaks, not progression</li>
|
||||
<li>Having a trusted third party available to check the spoiler log might not be a bad idea</li>
|
||||
<li>Sometimes your progression can be in somebody else's world. If you know there's nothing for you to do, there's no shame in going and getting some Burger King while you wait</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</body>
|
||||
</html>
|
@@ -9,7 +9,6 @@
|
||||
<nav class="navbar">
|
||||
<ul>
|
||||
<a href="/"><li>Home</li></a>
|
||||
<a href="/posts"><li>Posts</li></a>
|
||||
<a href="/about"><li>About</li></a>
|
||||
</ul>
|
||||
</nav>
|
||||
|
58
src/common-inspiration.php
Normal file
58
src/common-inspiration.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
$subtitles = array(
|
||||
# Source: https://gist.github.com/breanneboland/a3226f8d667dc8cc40d7fcbdde0e0567
|
||||
# https://breanneboland.com/blog/2020/02/28/you-can-put-what-in-dns-txt-records-a-blog-post-for-con-west-2020
|
||||
"Ask them again.",
|
||||
"If you still do not like it, maybe it is time to leave it.",
|
||||
"Tilt your head (or the thing) and look at it 90 or 180 degrees off true.",
|
||||
"Reconsider your use of something central. Social media is a good one, or anything that takes a significant amount of energy. For a couple of days, do it differently: abstain entirely, or make automatic processes manual. See what you lose and gain.",
|
||||
"Do a little dance for 60 seconds or five minutes.",
|
||||
"Take a picture of the thing and look at it on a screen. See what you have been overlooking. Bring it into your regular vision and address it.",
|
||||
"Take five deep breaths.",
|
||||
"Say it in your best Kermit the Frog voice.",
|
||||
"This might not be the thing for you. How did it feel reading that? That is your actual answer.",
|
||||
"Think of the last thing that made you truly happy. Can you have more of that thing? Is it a thing that is healthy to have in unfettered abundance? If so, how can you pull it into more of your days?",
|
||||
"Can you tell it to an animal friend?",
|
||||
"Can you make it digital or analog instead?",
|
||||
"What would it look like made of yarn?",
|
||||
"Set it aside for 72 hours. Leave the state if you can.",
|
||||
"That, but carved in marble.",
|
||||
"Turn it into an elevator pitch for the person you like the least.",
|
||||
"What is the headline? What is the lede? What is the first transition?",
|
||||
"Meld it with the thing you like least about yourself. Envision taking it outside into the world.",
|
||||
"I promise you this is interesting. You find it interesting. There are too many other people for you to be the only one.",
|
||||
"You are good enough to do this. No, seriously. You are.",
|
||||
"There is a reason you had this idea and not someone else.",
|
||||
"How you fixed something is always an interesting story to someone.",
|
||||
"How you survived is always an interesting story to someone.",
|
||||
"Take the weakest thing in you and then beat the bastards with it. (Thanks, Stars.)",
|
||||
"What if the perceived defect is what makes it special?",
|
||||
"Skip the introduction and conclusion for now. All headers are transient, so make them temporary text. Lorem ipsum everything that isn’t working right now.",
|
||||
"If you're writing and stuck, tap the . key until the words come back. If you're not writing, hum until the next action comes.",
|
||||
"Go outside for 20 minutes. Sing out loud or inside your head. Transform the inside of your brain for a moment to make it more hospitable to your work.",
|
||||
"If you keep thinking about a nap, maybe a nap is exactly the thing to do.",
|
||||
"Set a timer for 30 seconds and draw without lifting your writing instrument off the page. Make a satisfying scribble, do a weird self-portrait, or just be aimless. Stop when you're done and return to the task.",
|
||||
"Try to draw with your foot, if that's physically possible for you. Study the similarities and differences between the way feet and hands work. Think about how similar tools can be used very differently.",
|
||||
"Look up https://zoom.earth/. For five minutes, click intuitively: where you live, where you've gone, where you want to go to. When five minutes is up, see where you ended up. Find three facts about it. Marvel at this time in history.",
|
||||
"Remember that you are an expert in your own life, and you hold an entire history and universe that no one else is entirely party to. Your voice is needed because there is no other voice like it.",
|
||||
"What is the kindest route to take?",
|
||||
"How would you express it using only hummed notes?",
|
||||
"Ok, you can clean one thing or do one other procrastination exercise, but you must do it while wearing a ridiculous accessory. Otherwise the dishes must stay undone until you've finished.",
|
||||
"Do a DuckDuckGo image search for: your first name, your favorite color, the year you were born, the last thing you ate, the word “nebula,” and the phrase “cat stained glass.” Think for a minute when you're done.",
|
||||
"If you haven't said yes yet, try saying a specific maybe and seeing what happens.",
|
||||
"Put it through Google Translate into another language. Then put it back through, changing it back to the original. What is lost? What is gained?",
|
||||
"Ask a kid a simplified version of your question.",
|
||||
"How would H.R. Giger represent it? Maybe don't do that, but think of what it could look like.",
|
||||
"List out the projects you'd like yours to be like. List out the projects you wouldn't like yours to be like.",
|
||||
"At a medium scale, list out the steps a fairy godmother would take to fix your conundrum. How many can you do yourself?",
|
||||
"What would go into a montage that resulted in you sorting this out?",
|
||||
"Describe the conundrum in a word. Look up its synonyms and antonyms. Read them out loud and see which ones sing to you. Look those up too. See how far you can get from your original word without losing the original meeting entirely.",
|
||||
"Ok, but have you had a snack recently? Think about that while drinking a glass of water.",
|
||||
"Has it been too long since you talked to another person with your actual voice? Is there someone you can take a five-minute being-human break with?",
|
||||
"What would the cartoon mascot of your project and problem look like? In what ways might they be friends?",
|
||||
"The world does not offer infinite possibility, but daily life does a good job of disguising what possibility we have. Consider that you are stardust, we share atoms with every great genius that ever was, & your legacy is unlikely life in a cold universe.",
|
||||
"Life is, on a baseline, difficult, and yet every breath is a miracle in a world where our matter could have also been rocks or corn or a plastic bag in a puddle. In that way, we start ahead, and you can go even further.",
|
||||
);
|
||||
$message = $subtitles[array_rand($subtitles, 1)];
|
||||
echo "$message";
|
||||
?>
|
@@ -5,18 +5,3 @@
|
||||
<link href="/styles/styles.css" type="text/css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.1.7/css/fork-awesome.min.css" integrity="sha256-gsmEoJAws/Kd3CjuOQzLie5Q3yshhvmo7YNtBG7aaEY=" crossorigin="anonymous">
|
||||
<link href="/favicon.ico" rel="shortcut icon" />
|
||||
<link rel="alternate" href="/feed" title="9iron RSS Feed" type="application/rss+xml" />
|
||||
<!-- No FOUC -->
|
||||
<style type="text/css">
|
||||
.no-fouc {display: none;}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
document.documentElement.classname = 'no-fouc';
|
||||
window.addEventListener("load", function(event) {
|
||||
// No flash of unstyled content
|
||||
nf = document.getElementsByClassName('no-fouc');
|
||||
for (i = 0, len = nf.length; i < len; i++) {
|
||||
nf[i].removeClass('no-fouc');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
@@ -2,8 +2,11 @@
|
||||
$subtitles = array(
|
||||
// Press F to pay respects
|
||||
"For those afflicted",
|
||||
// F
|
||||
"We don't fuck dragons",
|
||||
// F
|
||||
"Synapse a shit, use XMPP",
|
||||
// F
|
||||
"cowfee",
|
||||
"gween tea",
|
||||
"You shot it into the fucking sand",
|
||||
@@ -83,7 +86,6 @@
|
||||
"Lain in a bear suit",
|
||||
"Let's get this out onto a tray. Nice. Mmkay.",
|
||||
"This space intentionally left blank",
|
||||
"",
|
||||
"Banned in Australia",
|
||||
"Banned in Australia(?)",
|
||||
"I want a PSP again",
|
||||
@@ -106,6 +108,10 @@
|
||||
// - Me, all the fucking time
|
||||
"\"Is that THE Simon Belmont Castlevania?\"",
|
||||
// - Me, irritating Sam
|
||||
"\"My heart runs Linux\"",
|
||||
// - Me, context forgotten
|
||||
"\"Brett has Mrs. Chapman nipples\"",
|
||||
// - Me
|
||||
"\"I suck a lot of dick, get over here\"",
|
||||
// - Brett
|
||||
"\"This was worth sucking dick\"",
|
||||
@@ -114,12 +120,24 @@
|
||||
// - Brett
|
||||
"\"100% of people that get killed die\"",
|
||||
// - Brett
|
||||
"\"I don't like prison\"",
|
||||
// - Brett
|
||||
"\"Be grody on my back. Wait-\"",
|
||||
// - Brett
|
||||
"\"Let's get this cock onto a tray!\"",
|
||||
// - Brett
|
||||
"\"This is Hell, they are all prostitutes.\"",
|
||||
// - Jordyn
|
||||
"\"Isn't an asshole like a brass instrument?\"",
|
||||
// - Jordyn
|
||||
"\"Sir, this is an M32 grenade launcher\"",
|
||||
// - Jacob https://www.youtube.com/watch?v=DJRkFLFnv3c
|
||||
"\"OHNO!\"",
|
||||
// - Jacob
|
||||
"\"Much edge\"",
|
||||
// - Jacob
|
||||
"\"Oh it's a bear\"",
|
||||
// - Lea, moments before being mauled by a grizzly bear
|
||||
"\"I'm in danger!\"",
|
||||
// - At least four of us, constantly shittalking
|
||||
"\"He got cancer and became a Nazi\"",
|
||||
@@ -150,8 +168,14 @@
|
||||
// - Jacob, after I said he's my little pogchamp
|
||||
"\"They're children you thirsty whores\"",
|
||||
// - Sam
|
||||
"\"Imagine \'Blades of Glory\' but they fuck\"",
|
||||
"\"Pichu is illegal\"",
|
||||
// - Sam
|
||||
"\"DEDEDE FUCKS\"",
|
||||
// - Sam
|
||||
"\"Imagine 'Blades of Glory' but they fuck\"",
|
||||
// - Also Sam
|
||||
"\"There's no D in BDSM\"",
|
||||
// - Rachael
|
||||
"God dammit, Sam",
|
||||
"God dammit, Jacob",
|
||||
"God dammit",
|
||||
@@ -187,6 +211,7 @@
|
||||
"No backing database edition",
|
||||
"Motherfucking website edition",
|
||||
"Licensed under MIT edition",
|
||||
"Absolutely no scripts edition",
|
||||
"Now SFW edition",
|
||||
"NSFW edition?",
|
||||
"NSFW edition"
|
||||
|
@@ -23,12 +23,13 @@
|
||||
<h4>desu.ltd</h4>
|
||||
<a href="https://desu.ltd">Index</a>
|
||||
<a href="https://git.desu.ltd">Gitea</a>
|
||||
<a href="http://local.desu.ltd">Local</a>
|
||||
</div>
|
||||
<div class="spsubsection">
|
||||
<h4>9iron</h4>
|
||||
<a href="https://9iron.club">Index</a>
|
||||
<a href="https://git.9iron.club">Gitea</a>
|
||||
<a href="https://monitor.9iron.club">Grafana</a>
|
||||
<a href="https://nc.9iron.club">Nextcloud</a>
|
||||
</div>
|
||||
<div class="spsubsection">
|
||||
<h4>Resources</h4>
|
||||
@@ -46,38 +47,12 @@
|
||||
</div>
|
||||
<div class="spsubsection">
|
||||
<h4>Imageboards</h4>
|
||||
<a href="https://smuglo.li">Smuglo</a>
|
||||
<a href="https://8kun.top">8kun</a>
|
||||
</div>
|
||||
<div class="spsubsection">
|
||||
<h4>Comms</h4>
|
||||
<a href="https://app.element.io">Element</a>
|
||||
<a href="https://discordapp.com/app">Discord</a>
|
||||
<a href="https://web.telegram.org">Telegram</a>
|
||||
</div>
|
||||
<div class="spsubsection">
|
||||
<h4>Galleries</h4>
|
||||
<a href="https://derpibooru.org">Derpibooru</a>
|
||||
<a href="https://gelbooru.com">Gelbooru</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- NERD -->
|
||||
<div class="spsection">
|
||||
<div class="spsubsection">
|
||||
<h4>Git</h4>
|
||||
<a href="https://git.9iron.club">9iron</a>
|
||||
<a href="https://gitlab.com">GitLab</a>
|
||||
<a href="https://github.com">GitHub</a>
|
||||
</div>
|
||||
<div class="spsubsection">
|
||||
<h4>Core</h4>
|
||||
<a href="https://git.9iron.club/salt/ansible">Ansible</a>
|
||||
<a href="https://git.9iron.club/salt/home">Home</a>
|
||||
<a href="https://git.9iron.club/salt/www2">www2</a>
|
||||
<a href="https://8chan.moe">8chan.moe</a>
|
||||
<a href="https://smuglo.li">smuglo.li</a>
|
||||
</div>
|
||||
<div class="spsubsection">
|
||||
<h4>Projects</h4>
|
||||
<a href="https://itazuraneko.neocities.org/learn/guide.html">LEARN JAP</a>
|
||||
<a href="https://itazuraneko.neocities.org/learn/guide.html">Learn Japanese</a>
|
||||
</div>
|
||||
<div class="spsubsection">
|
||||
<h4>Other</h4>
|
||||
@@ -86,6 +61,7 @@
|
||||
<a href="https://git.axiodl.com/AxioDL/urde">URDE</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="quote"><?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-inspiration.php';?></div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</body>
|
||||
|
@@ -35,7 +35,7 @@ h4 {
|
||||
font-size: 16px;
|
||||
font-family: var(--font);
|
||||
padding: 0.25em;
|
||||
transition: .08s ease-in;
|
||||
transition: .04s ease-in;
|
||||
width: 100%;
|
||||
}
|
||||
.search-input:hover,
|
||||
|
@@ -10,10 +10,12 @@
|
||||
:root {
|
||||
--background-bright: #fdfcfa;
|
||||
--background: #ecebe9;
|
||||
--line: #d6d5d3;
|
||||
--line: rgba(0,0,0,0.1);
|
||||
--greenlink: #327117;
|
||||
--greenlink-hover: #47b625;
|
||||
--link: #286a9d;
|
||||
--link-hover: #3ea5f3;
|
||||
--shadow: 8px -5px #d6d5d3;
|
||||
--shadow: 8px -5px rgba(0,0,0,0.1);
|
||||
--text: #414040;
|
||||
--text-code: #a7674e;
|
||||
}
|
||||
@@ -32,7 +34,7 @@ body {
|
||||
a {
|
||||
color: var(--link);
|
||||
text-decoration: none;
|
||||
transition: .08s ease-in;
|
||||
transition: .04s ease-in;
|
||||
}
|
||||
a:hover {
|
||||
color: var(--link-hover);
|
||||
@@ -54,6 +56,12 @@ dl dt {
|
||||
dl dd {
|
||||
margin: 0;
|
||||
}
|
||||
ol,ul {
|
||||
margin: 1em 2em;
|
||||
}
|
||||
ol li,ul li {
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
|
||||
/* CUSTOM DIVS AND SPANS */
|
||||
a.quickbutton {
|
||||
@@ -75,6 +83,11 @@ div.break {
|
||||
margin: 2em auto;
|
||||
border-bottom: 3px double var(--line);
|
||||
}
|
||||
div.quote {
|
||||
border-left: 4px solid var(--line);
|
||||
margin: 1em 4em;
|
||||
padding: 1em;
|
||||
}
|
||||
i.badge {
|
||||
font-size: 200%;
|
||||
float: right;
|
||||
@@ -120,12 +133,12 @@ img.bigimg {
|
||||
}
|
||||
.header nav ul li {
|
||||
display: inline-block;
|
||||
padding: 0.8em;
|
||||
padding: 1em;
|
||||
}
|
||||
.header nav ul li:hover {
|
||||
background: var(--link-hover);
|
||||
color: var(--background);
|
||||
transition: .08s ease-in;
|
||||
transition: .04s ease-in;
|
||||
}
|
||||
|
||||
/* CONTENT */
|
||||
@@ -139,7 +152,7 @@ img.bigimg {
|
||||
border-radius: 8px;
|
||||
box-shadow: 5px 5px var(--shadow);
|
||||
margin: 1em 0;
|
||||
padding: 1em;
|
||||
padding: 2em;
|
||||
}
|
||||
.subcontainer h2 {
|
||||
margin: 0;
|
||||
@@ -163,6 +176,7 @@ img.bigimg {
|
||||
}
|
||||
.footer p {
|
||||
margin: 0;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* MOBILE */
|
||||
|
@@ -26,7 +26,7 @@
|
||||
<p>A pretty light modpack (as Terraria packs tend to be) with Calamity, extra music, and Magic Storage. Also the 1.4 door tweak thing, that's important too.</p>
|
||||
<p>World Backups:</p>
|
||||
<ul>
|
||||
<li><a href="/files/calamity1.tgz">calamity1</a> - 2020-10-05</li>
|
||||
<li><a href="https://srv.9iron.club/files/calamity1.tgz">calamity1</a> - 2020-10-05</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="subcontainer">
|
||||
@@ -34,7 +34,7 @@
|
||||
<p>It totally met the hype, but was simultaneously underwhelming. I don't know how they did it.</p>
|
||||
<p>World Backups:</p>
|
||||
<ul>
|
||||
<li><a href="/files/1401-farm-master1.wld">1401-farm-master1</a> - 2020-06-01</li>
|
||||
<li><a href="https://srv.9iron.club/files/1401-farm-master1.wld">1401-farm-master1</a> - 2020-06-01</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,33 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-meta.php';?>
|
||||
<title>9iron - TES3MP</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-header.php';?>
|
||||
<div class="content">
|
||||
<div class="section">
|
||||
<h1>TES3MP - Morrowind Multiplayer</h1>
|
||||
<p>TES3MP is a multiplayer mod for OpenMW, a Morrowind engine rewrite. World state is tied to your character, so multiple people can have multiple playthroughs at the same time.</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1>Installation</h1>
|
||||
<ol>
|
||||
<li>Download the package: <a href="https://github.com/TES3MP/openmw-tes3mp/releases/download/0.7.0-alpha/tes3mp-client.Win32.prerelease.0.7-alpha.zip">Windows</a>, <a href="https://github.com/TES3MP/openmw-tes3mp/releases/download/0.7.0-alpha/tes3mp-GNU+Linux-x86_64-release-0.7.0-alpha-abc4090a0f-01d297f5c6.tar.gz">Linux</a></li>
|
||||
<li>Extract it somewhere</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="section">
|
||||
<h1>Connecting to the Server</h1>
|
||||
<ol>
|
||||
<li>Go to where you extracted TES3MP</li>
|
||||
<li>Run <code>tes3mp-browser</code></li>
|
||||
<li>Search for "9iron" and enter the server</li>
|
||||
</ol>
|
||||
<p>The password is "dicks". The password is always "dicks".</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php include $_SERVER['DOCUMENT_ROOT'].'/src/common-footer.php';?>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user