<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://itssimple.se/feed.xml" rel="self" type="application/atom+xml" /><link href="https://itssimple.se/" rel="alternate" type="text/html" /><updated>2026-11-03T15:39:08+00:00</updated><id>https://itssimple.se/feed.xml</id><title type="html">NoLifeKing</title><subtitle>The consultant NoLifeKing and what services he provides.
</subtitle><author><name>NoLifeKing</name><email>nolifeking@nolifeking85.tv</email></author><entry><title type="html">Migrated from Ghost to GitHub Pages</title><link href="https://itssimple.se/2026/11/03/migrated-from-ghost.html" rel="alternate" type="text/html" title="Migrated from Ghost to GitHub Pages" /><published>2026-11-03T10:17:00+00:00</published><updated>2026-11-03T10:17:00+00:00</updated><id>https://itssimple.se/2026/11/03/migrated-from-ghost</id><content type="html" xml:base="https://itssimple.se/2026/11/03/migrated-from-ghost.html"><![CDATA[<p>So, with all the recent CVEs in different platforms, languages amongst other things..</p>

<p>I decided to take this time to get away from my self-hosted Ghost platform,
to get rid of one of the NodeJS-projects running on my server.</p>

<p>So what’s new since last post <a href="/2022/07/11/a-wrapper-to-get-data-about-your-tcp-connections.html">A wrapper to get data about your TCP connections</a>, so in the last 4 years then.. :’D
<!--more-->
TL;DR..</p>

<h2 id="2023">2023</h2>

<ul>
  <li>👧 I got together with an old friend, and we ended up falling in love, who ended up being my wife.</li>
  <li>🔎 Started looking at new jobs, to see if I could find something that could spark my joy again.</li>
  <li>👾 Played a bit of Destiny 2, poked a few projects that used data from Destiny 2</li>
  <li>🐦 Twitter deleted my access to the Twitter/X API for Journal Limpet</li>
  <li>🔥 Started attending CurseForge Champion meetings</li>
  <li>🚕 Got a lifetime 20% discount on taxi rides because they messed up my account so bad</li>
  <li>🤺 Fended off so many recruiters and their offers, because I was offered lower salary than I already had</li>
  <li>🎮 Bought both an Xbox Series X</li>
  <li>🦑 Applied to the series Squid Game: The Challenge (did not get in)</li>
  <li>💍 Ordered me and my partner’s engagement rings</li>
  <li>✉️ Migrated MultiNet from on-premise Exchange mail servers to Outlook 365</li>
</ul>

<h2 id="2024">2024</h2>

<ul>
  <li>🧹 Started the work on selling my apartment, so I could move in with my partner instead.</li>
  <li>👾 Released my first mods/addons for Minecraft and Minecraft Bedrock.</li>
  <li>⛪ Booked the church and set the date for the wedding.</li>
  <li>💪 Started subscribing to 24/7 access to a gym (Fitness24Seven)</li>
  <li>🏠 Rented my own apartment out to a friend in need.</li>
  <li>🕴️ Booked an appointment to rent my suit for the wedding.</li>
  <li>🪧 Moved in with my partner and changed my address!</li>
  <li>🍽️ Ordered and booked the venue where the wedding party would happen.</li>
</ul>

<h2 id="2025">2025</h2>

<ul>
  <li>💍 Ordered the wedding rings! Woooh!</li>
  <li>🎉 Booked the venue for my 40th birthday</li>
  <li>💑 I got married to my forever person!</li>
  <li>🪪 I changed my last name</li>
  <li>😿 We had to say goodbye to one of our cats. 😭</li>
  <li>🏣 Went on different interviews for potential jobs, none of them matched</li>
  <li>🏘️ My apartment went on sale, and I sold it! Wohoo!</li>
  <li>🐀 My role as a Tech Rat with The Fuel Rats Mischief ended</li>
  <li>🚘 Applied for permission to learn how to drive</li>
  <li>🎮 Partnered with Kinetic Hosting!</li>
  <li>🎉 Turned 40, oh my what a party that was.</li>
</ul>

<h2 id="2026">2026</h2>

<ul>
  <li>🚗 Got a drivers license</li>
  <li>🚙 Started leasing a car</li>
  <li>🏝️ Went on the honeymoon trip with my wife, we went to Mauritius! It was amazing!</li>
  <li>🍕 Ate at Pizza Hut, before they went bankrupt in Sweden</li>
  <li>🛜 Moved all of my domains from both Dynadot and Loopia to HostUp instead, simplifying certificate management</li>
  <li>📃 Started writing articles for the <a href="https://blog.curseforge.com">CurseForge Blog</a>.</li>
  <li>🏢 I quit my job at <a href="https://www.multinet.com">MultiNet Interactive AB</a></li>
  <li>🧑‍💻 Soon starting a new career as a <a href="/consultant">IT consultant</a>, both private and hired.</li>
</ul>]]></content><author><name>NoLifeKing</name></author><category term="ghost" /><category term="github pages" /><summary type="html"><![CDATA[So, with all the recent CVEs in different platforms, languages amongst other things.. I decided to take this time to get away from my self-hosted Ghost platform, to get rid of one of the NodeJS-projects running on my server. So what’s new since last post A wrapper to get data about your TCP connections, so in the last 4 years then.. :’D]]></summary></entry><entry><title type="html">A wrapper to get data about your TCP connections</title><link href="https://itssimple.se/2022/07/11/a-wrapper-to-get-data-about-your-tcp-connections.html" rel="alternate" type="text/html" title="A wrapper to get data about your TCP connections" /><published>2022-07-11T15:32:43+00:00</published><updated>2022-07-11T15:32:43+00:00</updated><id>https://itssimple.se/2022/07/11/a-wrapper-to-get-data-about-your-tcp-connections</id><content type="html" xml:base="https://itssimple.se/2022/07/11/a-wrapper-to-get-data-about-your-tcp-connections.html"><![CDATA[<p>After looking around on the internet for, what felt like, days.. I decided to put together this small wrapper package, to be able to get network info (tcp connections, like netstat).</p>
<p>Gonna use it to be able to graph the state of our servers connection states (debugging port exhaustion), so we can see if our fixes lowers the amount of TIME_WAIT connections that never seems to close.</p>
<!--more-->
<p>Package can be found at the link below:</p>
<p><a href="https://www.nuget.org/packages/ItsSimple.NetStatData/1.0.0">https://www.nuget.org/packages/ItsSimple.NetStatData/1.0.0</a></p>]]></content><author><name>NoLifeKing</name></author><category term="netstat" /><category term="nuget" /><summary type="html"><![CDATA[After looking around on the internet for, what felt like, days.. I decided to put together this small wrapper package, to be able to get network info (tcp connections, like netstat). Gonna use it to be able to graph the state of our servers connection states (debugging port exhaustion), so we can see if our fixes lowers the amount of TIME_WAIT connections that never seems to close.]]></summary></entry><entry><title type="html">What CurseForge Project is This? (again)</title><link href="https://itssimple.se/2022/05/10/what-curseforge-project-is-this-again.html" rel="alternate" type="text/html" title="What CurseForge Project is This? (again)" /><published>2022-05-10T05:58:34+00:00</published><updated>2022-05-10T05:58:34+00:00</updated><id>https://itssimple.se/2022/05/10/what-curseforge-project-is-this-again</id><content type="html" xml:base="https://itssimple.se/2022/05/10/what-curseforge-project-is-this-again.html"><![CDATA[<p>As I wrote about <a href="/2022/01/31/what-curseforge-project-is-this.html">earlier</a>, I've created a small utility/tool to lookup <a href="https://www.curseforge.com">CurseForge</a> projects (and now files) whenever CurseForge decides to not install things, and doesn't tell you what it is either.</p>
<!--more-->
<p>And yesterday, I made some upgrades to that site, and enabled social sharing embeds, since they're broken on CurseForge as is (probably an issue with CloudFlare or something), and I must say, they look really good! (well of course they do, it's how they are designed to look when fed the proper tags).</p>
<figure class="kg-card kg-image-card kg-card-hascaption"><img src="/assets/images/2022/05/image.png" class="kg-image" alt="" loading="lazy" width="597" height="227" /><figcaption>This is how it looks on Twitter.</figcaption></figure>
<p>And then, a friend of mine (Yes <a href="https://www.curseforge.com/members/claycorp/projects">Clay</a>, I'm gonna call you friend, live with it) asked if I could do the same thing, but have the ability to redirect to the correct CurseForge project page.. so I did, and with the extra feature (that he asked for), to be able to more or less, take a CurseForge link, replace the domain with mine, and get a working embed. :)</p>
<p>We're currently waiting for someone from CurseForge to allow us to purchase a domain for two things, the community itself, and then for this embed thing. It's better to ask for permission, then having to scrap everything.. right?</p>]]></content><author><name>NoLifeKing</name></author><category term="curseforge" /><summary type="html"><![CDATA[As I wrote about earlier, I've created a small utility/tool to lookup CurseForge projects (and now files) whenever CurseForge decides to not install things, and doesn't tell you what it is either.]]></summary></entry><entry><title type="html">CurseForge Minecraft Modpack Server Installer</title><link href="https://itssimple.se/2022/04/26/curseforge-minecraft-modpack-server-launcher.html" rel="alternate" type="text/html" title="CurseForge Minecraft Modpack Server Installer" /><published>2022-04-26T04:57:03+00:00</published><updated>2022-04-26T04:57:03+00:00</updated><id>https://itssimple.se/2022/04/26/curseforge-minecraft-modpack-server-launcher</id><content type="html" xml:base="https://itssimple.se/2022/04/26/curseforge-minecraft-modpack-server-launcher.html"><![CDATA[<p>So, I've seen a lot of people struggle with getting modpack servers working, even if the instructions are very clear from the modpack makers, no matter how much help they get from the <a href="https://discord.com/invite/curseforge">CurseForge Discord</a>..</p>
<!--more-->
<p>And with that, I started a (yet another) little project of mine, first of all, because I wanted one myself, to see if I could pull it off, using nothing but the available APIs, and some code of mine.. spoiler, I made it work.</p>
<p>First off, I'm gonna say it, it's not perfect, there will be modpacks that it will fail to at least <em>start</em>, because of the nature of Minecraft modding, where the devs doesn't add code to bail out if they are intended as client-side mods only. And the reason this software will fail because of that, is because they are not tagged as client-only mods (you can't mark them as such).</p>
<p>And, no it's not a GUI based application, it's a CLI (Command Line Interface), to make it usable on most platforms.</p>
<p>Edit: Previously, we didn't have a macOS version, but with 1.0.1, we have support for macOS as well!</p>
<p>But, if an image speaks more than thousand words, what would a video do then?</p>
<figure class="kg-card kg-embed-card kg-card-hascaption"><iframe width="200" height="113" src="https://www.youtube.com/embed/Uy7cILUgh6U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe><figcaption>A small (old) demo video on what the installer looked like during development</figcaption></figure>
<p>The project is of course open source, and can be found in the <a href="https://github.com/CurseForgeCommunity/cf-mc-server">CurseForgeCommunity GitHub organization</a>. So, if you have any questions, feature requests or bug reports, be sure to get them in there!</p>
<p>We also have a documentation site available for this project, which will tell you the absolute basics on how to use it. And it's available <a href="https://cf-community.com/cf-mc-server/">here</a>.</p>
<p>Now, get out there, create your own server, and good luck with the mining! &lt;3</p>]]></content><author><name>NoLifeKing</name></author><category term="curseforge" /><category term="minecraft" /><category term="modpack" /><category term="server" /><category term="cf-mc-server" /><summary type="html"><![CDATA[So, I've seen a lot of people struggle with getting modpack servers working, even if the instructions are very clear from the modpack makers, no matter how much help they get from the CurseForge Discord..]]></summary></entry><entry><title type="html">Destiny 2 - Goal Tracker released</title><link href="https://itssimple.se/2022/04/25/destiny-2-goal-tracker-released.html" rel="alternate" type="text/html" title="Destiny 2 - Goal Tracker released" /><published>2022-04-25T16:35:22+00:00</published><updated>2022-04-25T16:35:22+00:00</updated><id>https://itssimple.se/2022/04/25/destiny-2-goal-tracker-released</id><content type="html" xml:base="https://itssimple.se/2022/04/25/destiny-2-goal-tracker-released.html"><![CDATA[<p>I totally forgot to write some news about this when it was released, but any time is better than never, right?</p>
<p>Anyway, for some time, I've been developing yet another Overwolf app, because I found something that I wanted to have for myself, a bit like the Game Time Tracker, but a bit easier to manage. :)</p>
<!--more-->
<p>You can find the <a href="https://www.overwolf.com/app/NoLifeKing85-Destiny_2_-_Goal_tracker">Destiny 2 Goal Tracker</a> on the Overwolf App Store.</p>
<figure class="kg-card kg-image-card kg-card-hascaption"><img src="/assets/images/2022/04/image.png" class="kg-image" alt="Image depicting the main window of the Destiny 2 Goal Tracker, with character information" loading="lazy" /><figcaption>It looks something like this (but with your data, after you've authenticated)</figcaption></figure>
<figure class="kg-card kg-image-card kg-card-hascaption"><img src="/assets/images/2022/04/image-1.png" class="kg-image" alt="" loading="lazy" /><figcaption>Here's an old image from the early development versions of the overlay, showcasing the season rank and other things that the overlay allows you to track.</figcaption></figure>
<p>And, while I have some plans for what to do with the main window, like adding more stats, graphs and other things, if there's anything you wonder, you're welcome to join the <a href="https://discord.com/invite/ZAMNfRpRDb">Discord</a> for this app!</p>]]></content><author><name>NoLifeKing</name></author><category term="destiny 2" /><category term="overlay" /><category term="overwolf" /><summary type="html"><![CDATA[I totally forgot to write some news about this when it was released, but any time is better than never, right? Anyway, for some time, I've been developing yet another Overwolf app, because I found something that I wanted to have for myself, a bit like the Game Time Tracker, but a bit easier to manage. :)]]></summary></entry><entry><title type="html">What CurseForge Project is this?</title><link href="https://itssimple.se/2022/01/31/what-curseforge-project-is-this.html" rel="alternate" type="text/html" title="What CurseForge Project is this?" /><published>2022-01-31T17:05:14+00:00</published><updated>2022-01-31T17:05:14+00:00</updated><id>https://itssimple.se/2022/01/31/what-curseforge-project-is-this</id><content type="html" xml:base="https://itssimple.se/2022/01/31/what-curseforge-project-is-this.html"><![CDATA[<p>Ever gotten strange errors when you try to upload your addons, mods or modpacks to CurseForge? Or do you wonder what those strange "project-&lt;numbers&gt;" are?</p>
<p>No need to worry about this any longer! I've made a nifty little tool to check what mod that used to be there, but isn't any longer!</p>
<!--more-->
<p>You can visit the new tool at <a href="https://cflookup.com">https://cflookup.com</a> :)</p>
<p>It will show you some basic information about the project that you enter into the site.</p>]]></content><author><name>NoLifeKing</name></author><category term="curseforge" /><summary type="html"><![CDATA[Ever gotten strange errors when you try to upload your addons, mods or modpacks to CurseForge? Or do you wonder what those strange "project-&lt;numbers&gt;" are? No need to worry about this any longer! I've made a nifty little tool to check what mod that used to be there, but isn't any longer!]]></summary></entry><entry><title type="html">Game Time Tracker - The End</title><link href="https://itssimple.se/2022/01/07/game-time-tracker-end-of-an-era.html" rel="alternate" type="text/html" title="Game Time Tracker - The End" /><published>2022-01-07T09:43:20+00:00</published><updated>2022-01-07T09:43:20+00:00</updated><id>https://itssimple.se/2022/01/07/game-time-tracker-end-of-an-era</id><content type="html" xml:base="https://itssimple.se/2022/01/07/game-time-tracker-end-of-an-era.html"><![CDATA[<p>After having this project up for a while, I've realized that manually managing supported games, based on what people play, is painstakingly bothersome, when there's so much to keep track of.</p>
<p>So, it is time for me to say goodbye to Game Time Tracker.</p>
<!--more-->
<p>The repository for the app is open source, if anyone wants to try to make something on their own. </p>
<p>I'll keep the database running until march 2022, but after that I'll decommission the domain and engine with the database. </p>
<p>It was a fun project in the start, but it started to get hard to maintain as time went on. I'm sorry for not updating anything in a while, I hope you find a better application to keep track of your played games. </p>
<p>I've made a final update, that will give you the ability to export the database with all stored sessions that the application has.</p>
<figure class="kg-card kg-image-card kg-card-hascaption"><img src="/assets/images/2022/01/image.png" class="kg-image" alt="" loading="lazy" /><figcaption>New export option for last version of Game Time Tracker</figcaption></figure>
<p>Database can be found at: <a href="https://gamedb.itssimple.se/games" rel="noreferrer noopener">https://gamedb.itssimple.se/games</a>, for all games that I've manually added. And some games will have another type of ID, to be matched with the Overwolf GameList.xml (where some games will be marked as SpiderMan, because of.. "game.exe"</p>
<p>There's also the currently not mapped executables at <a href="https://gamedb.itssimple.se/suggested-games" rel="noreferrer noopener">https://gamedb.itssimple.se/suggested-games</a></p>
<p>Ignored data is stored in 3 arrays: <a href="https://gamedb.itssimple.se/ignored-data" rel="noreferrer noopener">https://gamedb.itssimple.se/ignored-data</a></p>
<p>And I mark apps/executables as interesting based on paths and window classes: <a href="https://gamedb.itssimple.se/interesting-info" rel="noreferrer noopener">https://gamedb.itssimple.se/interesting-info</a></p>
<p>The repository can be found at <a href="https://github.com/itssimple/overwolf-game-time-tracker">https://github.com/itssimple/overwolf-game-time-tracker</a></p>
<p>Thank you, all users, for this time.</p>]]></content><author><name>NoLifeKing</name></author><category term="game time tracker" /><summary type="html"><![CDATA[After having this project up for a while, I've realized that manually managing supported games, based on what people play, is painstakingly bothersome, when there's so much to keep track of. So, it is time for me to say goodbye to Game Time Tracker.]]></summary></entry><entry><title type="html">Game Time Tracker - Update 1.1.3</title><link href="https://itssimple.se/2021/06/20/game-time-tracker-update-1-1-3.html" rel="alternate" type="text/html" title="Game Time Tracker - Update 1.1.3" /><published>2021-06-20T18:57:41+00:00</published><updated>2021-06-20T18:57:41+00:00</updated><id>https://itssimple.se/2021/06/20/game-time-tracker-update-1-1-3</id><content type="html" xml:base="https://itssimple.se/2021/06/20/game-time-tracker-update-1-1-3.html"><![CDATA[<p>We've released a new update of GTT, that will enable tracking of more games (need to enable it in the settings and then you need to (in this version) restart GTT to make it work.</p>
<p>With this update, we support around 9200 games, instead of around 20.</p>
<!--more-->
<p>If there's games that we don't support, you can just create an issue in our GitHub repo!</p>]]></content><author><name>NoLifeKing</name></author><category term="game time tracker" /><summary type="html"><![CDATA[We've released a new update of GTT, that will enable tracking of more games (need to enable it in the settings and then you need to (in this version) restart GTT to make it work. With this update, we support around 9200 games, instead of around 20.]]></summary></entry><entry><title type="html">HAProxy - Blocking those pesky vuln-scanners</title><link href="https://itssimple.se/2021/02/25/haproxy-blocking-those-pesky-vuln-scanners.html" rel="alternate" type="text/html" title="HAProxy - Blocking those pesky vuln-scanners" /><published>2021-02-25T15:02:45+00:00</published><updated>2021-02-25T15:02:45+00:00</updated><id>https://itssimple.se/2021/02/25/haproxy-blocking-those-pesky-vuln-scanners</id><content type="html" xml:base="https://itssimple.se/2021/02/25/haproxy-blocking-those-pesky-vuln-scanners.html"><![CDATA[<p>So, after spending almost 4 days.. yes, four days.. I managed to finally get something working, not exactly like I wanted it, but close enough..</p>
<p>Reading through lots of blog posts and gists around the internet about how to setup the "perfect detection and blocking"-system in your HAProxy instance, I finally came up with this little snippet, that does most of the work</p>
<!--more-->
<!--kg-card-begin: markdown-->
<pre><code class="language-plaintext">acl    is_spammy_mcspam_client    src_http_err_rate gt 0

tcp-request    inspect-delay 10s
tcp-request    content silent-drop if is_spammy_mcspam_client

http-request    track-sc0    src if { path_beg -i -f /haproxy-json/default-blocked-paths.lst } !{ src -f /haproxy-json/whitelist-ipranges.lst }
http-request    silent-drop    if    is_spammy_mcspam_client

stick-table    type ip size 200k expire 10m store http_err_rate(1d)
</code></pre>
<!--kg-card-end: markdown-->
<p>This is all placed in the frontend you want to protect, and then in the files <code>default-blocked-paths.lst</code> and <code>whitelist-ipranges.lst</code> I've put endpoints that are usually used when scanning for vulnerable endpoints in your website, or if someone put their entire <code>.git</code>-folder there, and things like that.</p>
<p>Do note that I'm only logging where you actually get an error, because in my case, we don't have the paths that people tend to access, so we only get 404s, which we then track the IP for each request to one of those endpoints, unless they're in our whitelist.</p>]]></content><author><name>NoLifeKing</name></author><category term="haproxy" /><summary type="html"><![CDATA[So, after spending almost 4 days.. yes, four days.. I managed to finally get something working, not exactly like I wanted it, but close enough.. Reading through lots of blog posts and gists around the internet about how to setup the "perfect detection and blocking"-system in your HAProxy instance, I finally came up with this little snippet, that does most of the work]]></summary></entry><entry><title type="html">Journal Limpet, again!</title><link href="https://itssimple.se/2021/01/16/journal-limpet-again.html" rel="alternate" type="text/html" title="Journal Limpet, again!" /><published>2021-01-16T08:42:43+00:00</published><updated>2021-01-16T08:42:43+00:00</updated><id>https://itssimple.se/2021/01/16/journal-limpet-again</id><content type="html" xml:base="https://itssimple.se/2021/01/16/journal-limpet-again.html"><![CDATA[<p>So, the vacation I had during christmas, I spent a few days on actually building up <a href="https://journal-limpet.com">Journal Limpet</a>, and I'm happy to say that I already have over 30+ users with 600+ journals and almost 1.3 million lines of journals stored.</p>
<p>So what happened since we published our last post?</p>
<!--more-->
<p>Well, for starters we:</p>
<ul><li>Built the entire backend that handles authentication and refreshing API tokens</li><li>Redid the entire database class, to use MSSQL instead of Postgresql (it's easier for me)</li><li>Added a small Redis-cache to keep track of gamestate for our EDDN and EDSM journal publishers</li><li>Built the EDDN publisher, that sends your journals over to EDDN automatically</li><li>Built the EDSM publisher, that.. just like above. Just enter your API credentials</li></ul>
<p>And now, all I have to do, is wait for more users, so I can see where I have any potential bottlenecks in performance, so I can hopefully fix that.</p>
<p>One of the things I will have to fix is actually the database, sooner or later, because the SQL Server Express limits the amount of memory I can use, how big my database can be (10GB should be quite enough for a while though) and how many CPU cores it can utilize.</p>
<p>If I could choose, I would gladly pay for a license for SQL Server, but for a project that I don't intend to get any money from, it's kinda expensive. Maybe I'll reach out to Microsoft and ask them for guidance or maybe even an Open Source license! (one can dream)</p>]]></content><author><name>NoLifeKing</name></author><category term="journal limpet" /><category term="elite dangerous" /><summary type="html"><![CDATA[So, the vacation I had during christmas, I spent a few days on actually building up Journal Limpet, and I'm happy to say that I already have over 30+ users with 600+ journals and almost 1.3 million lines of journals stored. So what happened since we published our last post?]]></summary></entry></feed>