merge back #20

Merged
joshuafhiggins merged 15 commits from main into dev 2025-07-04 04:39:50 +00:00
11 changed files with 93 additions and 38 deletions
Showing only changes of commit af74689d84 - Show all commits

View File

@@ -19,7 +19,7 @@ I created this Docker image for my own servers, but have released it for anyone
## How to use this image
### Hosting a simple game server
Running on the *host* interface (recommended):<br/>
Running on the *host* interface (recommended):
```console
$ docker run -d -it --net=host --name=tf2classic -e SRCDS_TOKEN={YOURTOKEN} litltoast/tf2-classic
```
@@ -37,11 +37,12 @@ $ docker run -d -it --net=host --name=tf2classic-2 -e SRCDS_PORT=27016 -e SRCDS_
```
`SRCDS_TOKEN` **is required to be listed & reachable. Generate one here using AppID `243750`:**
[https://steamcommunity.com/dev/managegameservers](https://steamcommunity.com/dev/managegameservers)<br/><br/>
`SRCDS_WORKSHOP_AUTHKEY` **is required to use workshop features:**
[https://steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey)<br/>
[https://steamcommunity.com/dev/managegameservers](https://steamcommunity.com/dev/managegameservers)
**It's also recommended to use "--cpuset-cpus=" to limit the game server to a specific core & thread.**<br/>
`SRCDS_WORKSHOP_AUTHKEY` **is required to use workshop features:**
[https://steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey)
**It's also recommended to use "--cpuset-cpus=" to limit the game server to a specific core & thread.**
## Configuration
### Environment Variables
@@ -76,8 +77,5 @@ If you want to learn more about configuring a TF2 server check this [documentati
### `tf2-classic:latest`
This is the only image
## Contributors
[![Contributors Display](https://badges.pufler.dev/contributors/joshuafhiggins/TF2-Classic?size=50&padding=5&bots=false)](https://github.com/joshuafhiggins/TF2-Classic/graphs/contributors)
## The Making of the Image
The original image from cm2network used `git clone` to pull the `entry.sh` script changes into the image. This meant that new containers would not get the entry script changes, unless the whole image was scrapped and rebuilt. Docker doesn't rebuild images if the `Dockerfile` hasn't changed, but the image needs to change if the script has changed. The solution was to simply use the `COPY` command in the `Dockerfile`. Besides that, making the Docker image was smooth. I plan on making one for [my Discord bot](https://discord.gg/b48D4m8jNs) next and to find other cool services to spin up on my home server.

View File

@@ -18,8 +18,6 @@ a {
.section-title {
text-transform: uppercase;
margin-top: 0;
margin-bottom: 10px;
display: block;
font-size: 1.6rem;
font-weight: bold;

View File

@@ -91,10 +91,9 @@ main.main {
.main-container {
min-height: 100vh;
align-items: flex-start;
padding: 0 15px;
gap: var(--section-separation);
padding-top: var(--main-top-padding);
padding: var(--main-top-padding) 15px 0;
@include respond(md) {
padding: 0 20px;
}

View File

@@ -14,6 +14,15 @@
box-shadow: var(--shadow-l1);
overflow: hidden;
@media (max-width:768px) {
border-radius: unset;
width: 100vw;
position: relative;
left: 50%;
transform: translateX(-50%);
max-width: none;
}
.article-header {
.article-image {
img {

View File

@@ -218,6 +218,30 @@
flex-direction: row;
gap: 10px;
@media (max-width: 768px) {
display: none;
}
svg {
width: 24px;
height: 24px;
stroke: var(--body-text-color);
stroke-width: 1.33;
}
}
.social-menu-waffle {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: row;
gap: 10px;
@media (min-width: 768px) {
display: none;
}
svg {
width: 24px;
height: 24px;

View File

@@ -90,6 +90,10 @@
flex-direction: column;
gap: var(--sidebar-element-separation);
@media (max-width: 768px) {
flex-direction: row;
}
@include respond(md) {
padding: 0;
}

View File

@@ -14,6 +14,13 @@
/* Tag cloud widget */
.tagCloud {
a {
display: flex;
flex-direction: row;
gap: 1rem;
align-items: center;
}
.tagCloud-tags {
display: flex;
flex-wrap: wrap;
@@ -43,6 +50,13 @@
background-color: var(--card-background);
}
a {
display: flex;
flex-direction: row;
gap: 1rem;
align-items: center;
}
.archives-year {
&:not(:last-of-type) {
border-bottom: 1.5px solid var(--card-separator-color);

View File

@@ -2,7 +2,7 @@
{{- $disqusjs := .Site.Params.Comments.disqusjs -}}
{{- if and (not $pc.Disable) (and $disqusjs.Shortname $disqusjs.ApiKey) -}}
{{- $style := resources.Get "scss/partials/comments/disqusjs.scss" | resources.ToCSS | minify -}}
{{- $style := resources.Get "scss/partials/comments/disqusjs.scss" | css.Sass | minify -}}
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
<div class="disqus-container">

View File

@@ -1,3 +1,3 @@
{{ $sass := resources.Get "scss/style.scss" }}
{{ $style := $sass | resources.ToCSS | minify | resources.Fingerprint "sha256" }}
{{ $style := $sass | css.Sass | minify | resources.Fingerprint "sha256" }}
<link rel="stylesheet" href="{{ $style.RelPermalink }}">

View File

@@ -1,10 +1,4 @@
<aside class="sidebar left-sidebar sticky {{ if .Site.Params.sidebar.compact }}compact{{ end }}">
<button class="hamburger hamburger--spin" type="button" id="toggle-menu" aria-label="{{ T `toggleMenu` }}">
<span class="hamburger-box">
<span class="hamburger-inner"></span>
</span>
</button>
<header>
{{ with .Site.Params.sidebar.avatar }}
{{ if (default true .enabled) }}
@@ -35,6 +29,12 @@
<h1 class="site-name"><a href="{{ .Site.BaseURL | relLangURL }}">{{ .Site.Title }}</a></h1>
<h2 class="site-description">{{ .Site.Params.sidebar.subtitle }}</h2>
</div>
<button class="hamburger hamburger--spin" type="button" id="toggle-menu" aria-label="{{ T `toggleMenu` }}">
<span class="hamburger-box">
<span class="hamburger-inner"></span>
</span>
</button>
</header>
{{- with .Site.Menus.social -}}
@@ -76,18 +76,6 @@
{{ end }}
<div class="menu-bottom-section">
{{- $currentLanguageCode := .Language.Lang -}}
{{ with .Site.Home.AllTranslations }}
<li id="i18n-switch">
{{ partial "helper/icon" "language" }}
<select name="language" onchange="window.location.href = this.selectedOptions[0].value">
{{ range . }}
<option value="{{ .Permalink }}" {{ if eq .Language.Lang $currentLanguageCode }}selected{{ end }}>{{ .Language.LanguageName }}</option>
{{ end }}
</select>
</li>
{{ end }}
{{ if (default false .Site.Params.colorScheme.toggle) }}
<li id="dark-mode-toggle">
{{ partial "helper/icon" "toggle-left" }}
@@ -95,6 +83,26 @@
<span>{{ T "darkMode" }}</span>
</li>
{{ end }}
{{- with .Site.Menus.social -}}
<ol class="social-menu-waffle">
{{ range . }}
<li>
<a
href='{{ .URL }}'
{{ if eq (default true .Params.newTab) true }}target="_blank"{{ end }}
{{ with .Name }}title="{{ . }}"{{ end }}
rel="me"
>
{{ $icon := default "link" .Params.Icon }}
{{ with $icon }}
{{ partial "helper/icon" . }}
{{ end }}
</a>
</li>
{{ end }}
</ol>
{{- end -}}
</div>
</ol>
</aside>

View File

@@ -1,11 +1,12 @@
{{ if (.Context.Scratch.Get "TOCEnabled") }}
<section class="widget archives">
<div class="widget-icon">
{{ partial "helper/icon" "hash" }}
</div>
<h2 class="widget-title section-title">{{ T "article.tableOfContents" }}</h2>
<div class="widget--toc">
<div style="display: flex; flex-direction: row; align-items: center; gap: 0.5rem; padding-top: 1rem; padding-left: 1rem; border-bottom: 1.5px solid var(--card-separator-color);">
<div class="widget-icon" style="width: 32px; height: 32px;">
{{ partial "helper/icon" "hash" }}
</div>
<h2 class="widget-title section-title" style="text-anchor: middle">{{ T "article.tableOfContents" }}</h2>
</div>
{{ .Context.TableOfContents }}
</div>
</section>