Redo website styling

This commit is contained in:
2025-11-09 20:06:24 +01:00
parent 202b607fa5
commit 4633c08da8
36 changed files with 639 additions and 496 deletions
@@ -8,33 +8,40 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<main class="blog-entry">
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h2>How to create a Rust server on Linux</h2>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>How to create a Rust server on Linux</h1>
<div class="author">Johannes Olzem</div>
<div class="date">May 23, 2023</div>
<h2>Table of Contents</h2>
<ul>
<li><a href="#Requirements">Requirements</a></li>
<li><a href="#SteamCMD">SteamCMD</a><br /></li>
<li><a href="#Installing">Installing</a><br /></li>
<li><a href="#SteamCMD">SteamCMD</a><br></li>
<li><a href="#Installing">Installing</a><br></li>
<li><a href="#Running">Running</a></li>
</ul>
<h2 id="Requirements">Requirements</h2>
<ul>
<li>Debian Linux</li>
<li>&#62;5GB of RAM</li>
<li>&#62;4.5GB of free disc space</li>
<li>&gt;5GB of RAM</li>
<li>&gt;4.5GB of free disc space</li>
</ul>
<h2 id="SteamCMD">SteamCMD</h2>
<h3>Configuring the envoirenment</h3>
@@ -47,9 +54,9 @@
<p class="code cmd">
sudo passwd steam
</p>
<br />
<br>
<p>
When prompted, enter a new password for the "steam" user. <br />
When prompted, enter a new password for the "steam" user. <br>
Then switch to the "steam" user and go to its home folder.
</p>
<p class="code cmd">
@@ -58,19 +65,19 @@
<p class="code cmd">
cd
</p>
<br />
<br>
<p>
Enable the contrib and non-free repositories by changing your <code>/etc/apt/sources.list</code> to resemble the following:
</p>
<p class="code no-dollar" style="text-align:left;">
deb http://deb.debian.org/debian bullseye main contrib non-free<br />
deb-src http://deb.debian.org/debian bullseye main contrib non-free<br />
<br />
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free<br />
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free<br />
<br />
deb http://deb.debian.org/debian bullseye-updates main contrib non-free<br />
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free<br />
<p class="code" style="text-align:left;">
deb http://deb.debian.org/debian bullseye main contrib non-free<br>
deb-src http://deb.debian.org/debian bullseye main contrib non-free<br>
<br>
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free<br>
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free<br>
<br>
deb http://deb.debian.org/debian bullseye-updates main contrib non-free<br>
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free<br>
</p>
<h3>Installing SteamCMD</h3>
<p>
@@ -79,7 +86,7 @@
<p class="code cmd">
sudo apt install steamcmd
</p>
<br />
<br>
<h2 id="Installing">Installing</h2>
<p>
Run SteamCMD
@@ -87,15 +94,15 @@
<p class="code cmd">
steamcmd
</p>
<br />
<br>
<p>
After a short update period, a prompt like <code>Steam&#62;</code> should appear.<br />
After a short update period, a prompt like <code>Steam&gt;</code> should appear.<br>
To login anonymously type:
</p>
<p class="code">
login anonymous
</p>
<br />
<br>
<p>
Now install the Rust Dedicated Server application.
</p>
@@ -103,15 +110,15 @@
app_update 258550
</p>
<p>
This will install and verify the Rust server.<br />
On my ~100 Mbit/s connection this took around 15-20 Minutes. <br />
<br />
This will install and verify the Rust server.<br>
On my ~100 Mbit/s connection this took around 15-20 Minutes. <br>
<br>
Afterwards you can quit the SteamCMD shell.
</p>
<p class="code">
quit
</p>
<br />
<br>
<h2 id="Running">Running</h2>
<p>
First navigate to the Rust server directory.
@@ -119,18 +126,18 @@
<p class="code cmd">
cd ~/Steam/steamapps/common/rust_dedicated
</p>
<br />
<br>
<p>
Finally, start up the Rust server by running:
</p>
<p class="code cmd">
./RustDedicated -batchmode
</p>
<br />
<br>
<p>
There are several arguments you can pass to the server to change its behaviour.
</p>
<br />
<br>
<table>
<tbody><tr>
<th>Parameter
@@ -235,17 +242,19 @@
</td>
<td><code>gamelog.txt</code>
</td>
<td>If you"re using a script, you"d better put the current date as a filename, otherwise, it"ll be erased on every start.
<td>If you're using a script, you'd better put the current date as a
filename, otherwise, it'll be erased on every start.
</td></tr>
<tr>
<td><code>-silent-crashes</code>
</td>
<td><code> - </code>
</td>
<td>Won"t display a crash dialog and will restart automatically if server is installed as service.
<td>Won't display a crash dialog and will restart automatically if server
is installed as service.
</td></tr></tbody>
</table>
<br />
<br>
<h2>Sources</h2>
<ul>
<li>
@@ -262,6 +271,7 @@
</li>
</ul>
</main>
</main>
<footer>
&copy; 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
<br>
+22 -12
View File
@@ -8,26 +8,36 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h2>Blog</h2>
<h1>Blog</h1>
<p>
Anything I write will go here:
</p>
<ul>
<li>
<a href="/blog/quick-fixes/">Quick fixes</a>
</li>
<li>
<a href="/blog/how-to-create-a-rust-server-on-linux/">
How to create a Rust server on linux.
23.05.23: How to create a Rust server on linux.
</a>
</li>
</ul>
@@ -8,26 +8,31 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h2>
Connected without internet on Android after setting PiHole as DNS server.
</h2>
<h1>Quick fix</h1>
<h2>Connected without internet on Android after setting PiHole as DNS server.</h2>
<p>
Make sure you forward both TCP and UDP of port 53 from your Docker
container.
Make sure you forward both TCP and UDP of port 53 from your Docker container.
</p>
</main>
</main>
<footer>
&copy; 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
<br>
+42 -26
View File
@@ -8,39 +8,55 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h1>Quick fix</h1>
<h2>HomeAssistant not connecting over reverse proxy</h2>
<p>
Make sure you have enabled <em>Websockets Supports</em> or similar
functionality in your reverse proxy client.<br><br>
If you are getting a <em>400 Bad Request</em> error, find the
HomeAssistant log file and look for the following error message:<br>
<code>A request from a reverse proxy was received from 12.34.56.78, but
your HTTP integration is not set-up for reverse proxies</code><br><br>
In your <code>configuration.yaml</code> file, add the following lines:<br>
<pre>
http:<br>
use_x_forwarded_for: true<br>
trusted_proxies:<br>
- 12.34.56.78 # The IP address from the error message
</pre>
Make sure you have enabled <em>Websockets Support</em> or similar
functionality in your reverse proxy client.
</p>
<p>
If you are getting a <code>400 Bad Request</code> error, find the
HomeAssistant log file and look for the following error message:
</p>
<p class="code">
A request from a reverse proxy was received from 12.34.56.78, but your
HTTP integration is not set-up for reverse proxies
</p>
<p>
In your <code>configuration.yaml</code> file, add the following lines:
</p>
<p class="code">
http:<br>
&emsp;use_x_forwarded_for: true<br>
&emsp;trusted_proxies:<br>
&emsp;&emsp;- 12.34.56.78 # The IP address from the error message
</p>
<h2>Explanation</h2>
<p>
HomeAssistant uses websockets to communicate with the browser.
</p>
<h3>Explanation</h3>
<p>
HomeAssistant uses websockets to communicate with the browser.<br><br>
If you are using a reverse proxy, the IP address of the incoming
connection is not trusted and gets rejected by HomeAssistant.<br>
connection is not trusted and gets rejected by HomeAssistant.
</p>
</main>
<footer>
+31 -29
View File
@@ -1,59 +1,61 @@
<!DOCTYPE html>
<html lang='en'>
<html lang="en">
<head>
<title>Quick fixes - Johannes Olzem</title>
<meta name='description' content='Johannes Olzem's personal website'>
<meta charset='utf-8'>
<link rel='stylesheet' href='/css/style.css'>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<link rel='icon' href='/favico.ico'>
<meta name="description" content="Johannes Olzem's personal website">
<meta charset="utf-8">
<link rel="stylesheet" href="/css/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class='body'>
<header>
<a href='/'>
<img src='/img/logo.png'>
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href='/about/'>About</a>
<a href='/blog/'>Blog</a>
<a href='/contact/'>Contact</a>
</header>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h2>Quick fixes</h2>
<h1>Quick fixes</h1>
<p>
This is a page with small problems, to which I have found easy
solutions, so as to not litter the blog page.
This is a page with small problems, to which I have found easy solutions,
so as to not litter the blog page.
</p>
<ul>
<li>
<a href='/blog/quick-fixes/android-pihole-no-internet/'>
<a href="/blog/quick-fixes/android-pihole-no-internet/">
Connected without internet on Android after setting PiHole as DNS
server
</a>
</li>
<li>
<a href='/blog/quick-fixes/homeassistant-proxy/'>
<a href="/blog/quick-fixes/homeassistant-proxy/">
HomeAssistant not connecting over reverse proxy
</a>
</li>
<li>
<a href='/blog/quick-fixes/nextcloud-file-not-supported/'>
<a href="/blog/quick-fixes/nextcloud-file-not-supported/">
Nextcloud file not supported error
</a>
</li>
<li>
<a href='/blog/quick-fixes/pacman-404/'>
Pacman install fails with 404
</a>
</li>
<li>
<a href='/blog/quick-fixes/proton-audio-stuttering/'>
<a href="/blog/quick-fixes/proton-audio-stuttering/">
Proton / Wine audio stuttering when using qpaeq equalizer
</a>
</li>
<li>
<a href='/blog/quick-fixes/thinkpad-r61-beep/'>
<a href="/blog/quick-fixes/thinkpad-r61-beep/">
Thinkpad R61 repeated beep on startup
</a>
</li>
@@ -8,27 +8,35 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h1>Quick fix</h1>
<h2>Nextcloud file not supported error</h2>
<h3>
<code>
exif_read_data(): File not supported at
/var/www/html/lib/private/Metadata/Provider/ExifProvider.php#59
</code>
</h3>
<p>Upload over IP and port rather than over nginx proxy.</p>
<h3>Explanation</h3>
<p class="code">
exif_read_data(): File not supported at
/var/www/html/lib/private/Metadata/Provider/ExifProvider.php#59
</p>
<p>
Upload over IP and port rather than over nginx proxy.
</p>
<h2>Explanation</h2>
<p>
The request payload (the data your are trying to upload) is too large for
nginx.
-50
View File
@@ -1,50 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Quick fix - Johannes Olzem</title>
<meta name="description" content="Johannes Olzem's personal website">
<meta charset="utf-8">
<link rel="stylesheet" href="/css/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h2>Pacman install fails with 404</h2>
<h3><code>error: failed retrieving file 'X' from Y : The requested URL
returned error: 404</code></h3>
<p>
Replace <code>/etc/pacman.d/mirrorlist</code> with a new file generated
at
<a href='https://archlinux.org/mirrorlist/'>
https://archlinux.org/mirrorlist/
</a>.
<br>
Then run <code>sudo pacman -Syyu</code> to update the package database
with the new mirrorlist. Make sure to use 2 y's, to force the new changes.
</p>
<h3>Explanation</h3>
<p>
Your mirrorlist is outdated, possibly due to the recent
<a href='https://archlinux.org/news/git-migration-completed/'>
pacman git migration
</a>.
</p>
</main>
<footer>
&copy; 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
<br>
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
</footer>
</body>
@@ -8,20 +8,30 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h1>Quick fix</h1>
<h2>Proton / Wine audio stuttering when using qpaeq equalizer</h2>
<p>Switch to normal audio device.</p>
<p>
Switch to normal audio device.
</p>
</main>
<footer>
&copy; 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
+24 -15
View File
@@ -8,24 +8,33 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h2>Title</h2>
<h3>Problem</h3>
<p>Fix</p>
<h3>Explanation</h3>
<h1>Quick fix</h1>
<h2>::Title::</h2>
<p>
Explanation
::Solution
</p>
<h2>Explanation</h2>
<p>
::Explanation
</p>
</main>
<footer>
+25 -13
View File
@@ -8,22 +8,34 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
<body>
<nav>
<a href="/" class="header-logo">
<img src="/img/header-logo.webp" alt="logo">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<span class="header-text">Johannes Olzem</span>
<ul>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/blog/">Blog</a>
</li>
<li>
<a href="/contact/">Contact</a>
</li>
</ul>
</nav>
<main>
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h1>Quick fix</h1>
<h2>Thinkpad R61 repeated beep on startup</h2>
<h3>(or any older ThinkPad model, I believe)</h3>
<p>Check keyboard connector / swap out keyboard.</p>
<h3>Explanation</h3>
<p>
(or any older ThinkPad model, I believe)
</p>
<p>
Check keyboard connector / swap out keyboard.
</p>
<h2>Explanation</h2>
<p>
No keyboard detected on bootup.
</p>
-36
View File
@@ -1,36 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>{{ Title }} - Johannes Olzem</title>
<meta name="description" content="Johannes Olzem's personal website">
<meta charset="utf-8">
<link rel="stylesheet" href="/css/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/favico.ico">
</head>
<body class="body">
<header>
<a href="/">
<img src="/img/logo.png">
</a>
<a href="/about/">About</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</header>
<main class="blog-entry">
<h1>Johannes Olzem</h1>
<blockquote>Less is more</blockquote>
<h2>Title</h2>
<div class="author">Johannes Olzem</div>
<div class="date"></div>
<p>
</p>
</main>
<footer>
&copy; 2021 - <script>document.write(new Date().getFullYear())</script> Johannes Olzem
<br>
<small>This website is free software. You can redistribute and modify it under the terms of the GNU General Public License V3.</small>
</footer>
</body>