<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://akmalmaulana.net/feed.xml" rel="self" type="application/atom+xml" /><link href="https://akmalmaulana.net/" rel="alternate" type="text/html" /><updated>2026-08-06T15:10:52+07:00</updated><id>https://akmalmaulana.net/feed.xml</id><title type="html">Akmal Maulana</title><subtitle>Personal Website for showcasing my writing and project</subtitle><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><entry><title type="html">Testing Blog</title><link href="https://akmalmaulana.net/blog/2026/08/06/test-blog-in-prod.html" rel="alternate" type="text/html" title="Testing Blog" /><published>2026-08-06T14:45:57+07:00</published><updated>2026-08-06T14:45:57+07:00</updated><id>https://akmalmaulana.net/blog/2026/08/06/test-blog-in-prod</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/08/06/test-blog-in-prod.html"><![CDATA[<p>Here are the update list
        new version 1</p>
      ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="test" /><summary type="html"><![CDATA[Here are the update list new version 1]]></summary></entry><entry><title type="html">Switching to English for my blogpost</title><link href="https://akmalmaulana.net/blog/2026/06/29/use-engrish.html" rel="alternate" type="text/html" title="Switching to English for my blogpost" /><published>2026-06-29T20:41:12+07:00</published><updated>2026-06-29T20:41:12+07:00</updated><id>https://akmalmaulana.net/blog/2026/06/29/use-engrish</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/06/29/use-engrish.html"><![CDATA[<p>As this writing it will mark my 11 months blogging in my website and while I am still not prolific writer I can confidently said that blogging really help me to sharpen my thinking process and now I can think coherently what I am suppose to speak during interview. From what I experience during practice and actual interview in the past two weeks I am stopping or pause not because I am nervous or didn’t know what to talk but I have a lot of thing to talk about and writing really help to build that layer by layer for story in interview.</p>
    <p>Apart from that I usually writing with Bahasa Indonesia because at the time I want learn how to write and writing confidently and my second goals is to improve how I convey my knowledge and understanding because during final task in Uni where student have to submit their paper I am still remember my writing is horrible and even the lecturer is struggling to understand what am I writing. So I make this blogpost website where I can practice and training my writing.</p>
    <p>Why I am not use english in the first place? well because I still don’t know know what direction should I take for this blogpost and I am still exploring what topics should I write or I don’t know if my English is good for writing essay and also I am mostly learn vocabulary with audio like Movie, or English speaker on Youtube video. Another material is I read lot of English books but never try to write English text in long form like blogpost.</p>
    <p>This blogpost might feels like rambling but from now on I will write in English so I can improve how I am writing in English because the way I writing in English currently is I used reference during my chat conservation with my friends and then try to use speaking form of English and try to used it in text form which is sometimes doesn’t match or they are better wording for that.</p>
    <p>Another thing is I am also want to reach international audience if anyone interested with my post and want to contant me later.</p>
    ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="language" /><category term="english" /><category term="writing" /><summary type="html"><![CDATA[As this writing it will mark my 11 months blogging in my website and while I am still not prolific writer I can confidently said that blogging really help me to sharpen my thinking process and now I can think coherently what I am suppose to speak during interview. From what I experience during practice and actual interview in the past two weeks I am stopping or pause not because I am nervous or didn’t know what to talk but I have a lot of thing to talk about and writing really help to build that layer by layer for story in interview.]]></summary></entry><entry><title type="html">Penyebab No Steam Logon dari sisi administrasi</title><link href="https://akmalmaulana.net/blog/2026/06/22/nosteamlogon-deduction.html" rel="alternate" type="text/html" title="Penyebab No Steam Logon dari sisi administrasi" /><published>2026-06-22T22:26:36+07:00</published><updated>2026-06-22T22:26:36+07:00</updated><id>https://akmalmaulana.net/blog/2026/06/22/nosteamlogon-deduction</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/06/22/nosteamlogon-deduction.html"><![CDATA[<p>Buat yang sering main sourcegame pasti pernah mengalami keluar dari server kurang dari satu menit setelah <em>join</em> dan muncul tulisan <em>No Steam Logon</em>.</p>
  <p>Aku belum punya definisi teknis untuk No Steam Logon, namun setelah menjalankan server L4D2 selama sebulan terakhir aku bisa mendapatakan deduksi kenapa No Steam Logon ini terjadi di sisi server.</p>
  <h1 id="match-making-system">Match Making System</h1>
  <p>Pertama dimulai dengan membahas Match Making System, pada sourcegame pemain bisa menggunakan fitur quick connect untuk bergabung dengan server yang sedang berjalan ataupun membuat lobbynya sendiri. Ketika membuat lobby pemain akan disambungkan dengan server yang tersedia.</p>
  <p>Setelah mendapatkan server yang tersedia Steam akan membuatkan lobby untuk pemain dan memberikan cookies ke server yang sedang berjalan, cookies ini mirip dengan cookies di browser yaitu menyimpan data dari pemain yang ada di server dan fungsi lainnya adalah membuat match making bagi pemain yang bergabung lewat quick connect.</p>
  <figure class=" ">
    <a href="/assets/images/blog/2026-06-10-nosteamlogon-deduction/sequence-diagram-steam-server.png">
      <img src="/assets/images/blog/2026-06-10-nosteamlogon-deduction/sequence-diagram-steam-server.png" alt="" />
    </a>
    <figcaption>Diagram how to make and connect to server based on my knowledge
    </figcaption>
  </figure>
  <h1 id="cookies-problem">Cookies Problem</h1>
  <p>Dari cookies masalah No Steam Logon akan muncul, pemain yang join ke server akan di cek Steam IDnya. Ketika di cek Steam Server tidak mendapatkan Steam ID dari pemain yang join maka pemain akan dikeluarkan dari server dalam kurun waktu satu sampai satu setengah menit.</p>
  <figure class="half ">
    <a href="/assets/images/blog/2026-06-10-nosteamlogon-deduction/cookies-problem.png">
      <img src="/assets/images/blog/2026-06-10-nosteamlogon-deduction/cookies-problem.png" alt="" />
    </a>
    <a href="/assets/images/blog/2026-06-10-nosteamlogon-deduction/failed-retvals.png">
      <img src="/assets/images/blog/2026-06-10-nosteamlogon-deduction/failed-retvals.png" alt="" />
    </a>
    <figcaption>Picture to the left is diagram and to the right is what server see when failed to retrieve player Steam ID
    </figcaption>
  </figure>
  <p>Selain itu cookies ini juga yang membuat banyak third party server berada di publik, ini hanya pendapat ku pribadi kalau admin dari Steam Group ini sengaja tidak menonaktifkan cookies nya sehingga pemain yang bergabung lewat <em>quick connect</em> akan bergabung dengan server yang penuh mod sehingga banyak pemain yang join dan terjebak di dalam server, setelah merasa tidak ada lagi server yang normal maka terpaksa untuk bermain di server tersebut.</p>
  <h1 id="hal-yang-bisa-dilakukan-pemain">Hal yang bisa dilakukan pemain</h1>
  <p>Beberapa hal yang bisa kamu lakukan ketika mendapatkan No Steam Logon:</p>
  <ol>
    <li>Keluar dari Game, ini karena jika kamu join lagi kamu akan mendapatkan pesan yang sama berulang kali karena secara tidak langsung game yang sedang berjalan menyimpan status terakhir mu dan untuk <em>reset</em> maka keluar dari game. 
      Kemudian hindari server yang memberikan mu No Steam Logon biasanya server ini baru berjalan dan aku merasa perlu beberapa lama sampai server ini bisa dimainkan tanpa memberikan No Steam Logon. 
      Cara lainnya adalah meminta teman membuat ku servernya terlebih dahulu sebelum kamu join.</li>
    <li>Restart Steam, di beberapa guide di internet memberikan saran untuk restart steam. Aku merasa ini tidak perlu dilakukan jika server yang ingin kamu gabung tidak memiliki cookies sehingga kamu bisa join langsung lewat serverbrowser atau list steam group.</li>
  </ol>
  <p>Kamu bisa cek server memiliki cookies atau tidak dengan mengetik status di dalam console, jika ada tulisan <em>unreserved</em> maka server tersebut tidak memiliki cookies</p>
  <figure class="half ">
    <a href="/assets/images/blog/2026-06-10-nosteamlogon-deduction/server-with-cookies.png">
      <img src="/assets/images/blog/2026-06-10-nosteamlogon-deduction/server-with-cookies.png" alt="" />
    </a>
    <a href="/assets/images/blog/2026-06-10-nosteamlogon-deduction/server-with-no-cookies.png">
      <img src="/assets/images/blog/2026-06-10-nosteamlogon-deduction/server-with-no-cookies.png" alt="" />
    </a>
    <figcaption>Left is Server with Cookies and Right is server without Cookies
    </figcaption>
  </figure>
  <h1 id="hal-yang-bisa-dilakukan-admin">Hal yang bisa dilakukan admin</h1>
  <p>Menggunakan <em>extension</em> berupa <a href="https://github.com/lakwsh/l4dtoolz">l4dtoolz extension</a> yang bisa memberikan kapabilitas server untuk membuka slot sampai 32, salah satu fitur dari extension ini adalah <em>sv_force_unreserved</em> jadi membuat server tidak menerima permintaan pembuatan lobby dari pemain sehingga tidak mendapatkan cookies dari Steam dengan begitu bisa mencegah pemain mendapatkan No Steam Logon.</p>
  <p>Ini adalah <em>pain</em> yang kurasakan selama 2 minggu testing server baik itu lokal maupun <em>production</em> setiap kali ingin testing plugins atau mod pasti akan mendapatkan no steam logon sehingga kesal rasanya ditendang dari server sendiri, namun biasanya masalah akan selesai sendiri jika server selalu up time dan bisa dimainkan oleh pemain dan mungkin Steam menandai server ini aman untuk dipakai.</p>
  <p>Penyebab lain yang jarang terjadi adalah koneksi internet yang tidak stabil. Pada awalnya aman ketika bermain namun saat mendapatkan sinyal yang jelek bisa menggangu stabilitas pemain dan akhirnya menyebabkan No Steam Logon karena pemain gagal mengirim Steam ID kepada Steam Server.</p>
  <p>Dan sayangnya ini terjadi kepada salah satu pemain survival, waktu itu dia dengan rekan tim lainnya mencoba mendapatkan World Record di map c10m4_mainstreet atau Death Tool - Street. Ketika di penghujung game tiba tiba koneksinya terputus dan pesan yang muncul di log chat adalah <em>disconnected(No Steam Logon)</em> dan ketika login kembali dia tidak mendapatkan recordnya, record terbaru adalah 582 Minutes atau hampir 10 Jam.</p>
  ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="server" /><category term="steam" /><category term="l4d2" /><summary type="html"><![CDATA[No Steam Logon is error from client side where player got kicked from server because steam can't verfied their Steam ID. This blog explaing why it happen and how player and admin can work around this problem]]></summary></entry><entry><title type="html">Giving NixOS another chance</title><link href="https://akmalmaulana.net/blog/2026/06/18/nixos-is-cool.html" rel="alternate" type="text/html" title="Giving NixOS another chance" /><published>2026-06-18T11:11:27+07:00</published><updated>2026-06-18T11:11:27+07:00</updated><id>https://akmalmaulana.net/blog/2026/06/18/nixos-is-cool</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/06/18/nixos-is-cool.html"><![CDATA[<p>In the past when I am still exploring about Linux during my college internship I stumble with NixOS, from what I remember back then NixOS is bleeding age distro like Arch and in their website they said something like reproducible and same environment everywhere the term I still don’t know the meaning at the time.</p>
  <p>I tried to install once in VM and is alright, another thing with NixOS you can install their <a href="https://nixos.org/download/">package manager</a> everywhere like MacOS, Windows, and Linux. I have tried NixOS package manager once in Alibaba VPS, at that time I want to install Neovim newest version in the VPS but the package manager <em>yum</em> is old and only provided 6.0 version from what I remember.</p>
  <p>I have tried to build from source in VPS with 1 vcore but that didn’t work and then I remember NixOS package manager, I install it and it give me newest version of Neovim. My purpose to install Neovim in VPS is to use Neovim plugins like LSP, treesitter and so on but that is overkill for VPS purpose and Vim exist.</p>
  <p>I encouter NixOS again from Youtube channel <a href="https://www.youtube.com/@tony-btw">@tony-btw</a> he created Linux tutorial videos for dekstop user like compositor setup and install various Linux and BSD system, from his channel I know about wayland compositor <a href="/blog/2026/05/17/niri-tearing.html">Niri</a> and have been daily driving it.</p>
  <p>In his recent videos he make <a href="https://youtu.be/7M00ZDCjAA8?si=ETxMkdsacNl4SxcT&amp;t=236">tier list for Linux and BSD system</a> and ranking NixOS as S tier for operator friendly system. For me the thing that make NixOS appealing again is declarative approach system, in distro like Arch or Debian if you want to install packages you do it <em>imperatively</em> meaning you make change in your system bit by bit. Like example I want to install qemu I have to install with package manager like Pacman or APT:</p>
  <div class="language-sh highlighter-rouge">
    <div class="highlight">
      <pre class="highlight"><code><span class="nb">sudo </span>pacman <span class="nt">-S</span> qemu-full
</code></pre>
    </div>
  </div>
  <p>It make change in my system by adding the packages and depedencies, in the future if I want to remove it I have to removing it manually with package manager and sometimes you can forget about the packages name you install so it will sit there eating your storage capacity.</p>
  <p>With NixOS you have several ways to install packages mention in <a href="https://search.nixos.org/packages?channel=unstable&amp;query=qemu#show=qemu_full">NixOS Package Search</a> the recommended approach is to install with Nix Configuration file. With this you <em>declaratively</em> install package in your system with the file you can preview:</p>
  <div class="language-nix highlighter-rouge">
    <div class="highlight">
      <pre class="highlight"><code>  <span class="nv">environment</span><span class="o">.</span><span class="nv">systemPackages</span> <span class="o">=</span> <span class="p">[</span>
    <span class="nv">pkgs</span><span class="o">.</span><span class="nv">qemu_full</span>
  <span class="p">];</span>
</code></pre>
    </div>
  </div>
  <p>It make easier to version control your system and known what packages that break your system.</p>
  <p>The philosopy about declarative approach is something I have read in Kubernetes or Containers Book because in the past is hard to track change in the system to look something that broke or make the application not working anymore and with this technology it try to standardize how the system should be applied in production and with NixOS I think is try to achieve the same thing either for home or production use case.</p>
  <p>I have installed NixOS in my old laptop that previously used Debian Sid, for starter I am using Tony tutorial video to setup NixOS with <a href="https://wiki.nixos.org/wiki/Flakes">Flake</a> and my goal is to reproduce my current system in Arch with NixOS configuration file and make repository for version control.</p>
  <p>In the past few days I have been trying to learn Kubernetes and when I try to install <em>kind</em> in my old laptop it refused because Flake detect I haven’t version control my Niri config file, since I have reproduce my system in NixOS I am thinking to have second version of NixOS for server use case with minimal packages.</p>
  <p>Then I make new directory with Flake and Nix configuration file for server setup and only install necessary packages like SSH, Container Runtime, and Kubernetes. When I am rebuild the system it remove my Niri setup and successfully installed container runtime and kubernetes, at that moment I am blown away how easily to switch between two different system with ease and I am considering to switching from Arch to NixOS in future.</p>
  ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="linux" /><category term="nixos" /><summary type="html"><![CDATA[In the past when I am still exploring about Linux during my college internship I stumble with NixOS, from what I remember back then NixOS is bleeding age distro like Arch and in their website they said something like reproducible and same environment everywhere the term I still don’t know the meaning at the time.]]></summary></entry><entry><title type="html">Panitia Pemotongan Kurban 1447H</title><link href="https://akmalmaulana.net/blog/2026/06/01/panitia-kurban-1447h.html" rel="alternate" type="text/html" title="Panitia Pemotongan Kurban 1447H" /><published>2026-06-01T09:54:49+07:00</published><updated>2026-06-01T09:54:49+07:00</updated><id>https://akmalmaulana.net/blog/2026/06/01/panitia-kurban-1447h</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/06/01/panitia-kurban-1447h.html"><![CDATA[<p>Di tahun sebelumnya aku sudah pernah menjadi <a href="/blog/2025/10/23/statistik-pemotongan-hewan-kurban-idul-adha-1446H.html">panitia kurban</a> dan pada tahun ini kembali lagi menjadi panitia dan dengan pengalaman sebelumnya aku bisa mengikuti setiap bagian pekerjaan dengan lebih baik.</p>
  <p>Pada tahun ini di Masjid hewan kurbannya terdiri dari:</p>
  <ul>
    <li>17 Ekor Sapi</li>
    <li>30 Ekor Kambing</li>
  </ul>
  <p>Dan proses kurban dilaksanakan tepat setelah Shalat Idul Adha di jam 08.00 WIB, ketika menjadi panitia aku membantu di tiga tempat yaitu penyembelihan, pemotongan, dan pendistribusian.</p>
  <h1 id="penyembelihan">Penyembelihan</h1>
  <p>Aku ikut membantu di bagian penyembelihan <em><a href="https://youtu.be/lPk_zyRKs1Q?si=fUfhAtpHc0FN_uMJ&amp;t=4">kambing</a></em> hal yang kubantu adalah memegang kaki kambing ketika akan disembelih dan mengatarnya ke troli. Ketika memegang kaki kambing saat disembelih aku bisa lihat dengan jelas bagaimana kambingnya disembelih, pertama kepalanya perlu diangkat ke atas untuk memperlihatkan lehernya dan setelah mendapatkan posisi yang pas akan dibacakan doa bagi orang yang telah berkuban lalu disembelih lehernya sampai terputus pipa tenggorokan dan kerongkongannya. Setelah darahnya habis baru diantarkan ke troli untuk dikuliti terlebih dahulu.</p>
  <p>Hal yang ku perhatikan adalah darah dari kambing itu terlihat kental dan warna darahnya itu <a href="https://creativebooster.net/blogs/colors/shades-of-maroon-color">merah maroon</a>. Tukang jagal nya dari bapak bapak dengan golok pribadi mereka dan setiap kali selesai menyembelih dibersihkan goloknya sebelum menyembelih lagi.</p>
  <p>Aku ingin mencoba menyembelih hewan kurban nantinya karena tahun kemarin ditawari untuk mencoba namun dari pembicaraan yang kudengar ketika menyembelih tidak boleh kena tulang karena nanti bisa merusak goloknya dan kedua jika menyembelihnya salah nanti hewannya akan tersiksa dan aku bisa lihat itu seadainya aku menyembelih tidak sampai tenggorokannya hewannya pasti tersiksa. Dan terakhir cara pegang goloknya aku perhatikan ada yang overhand grip dan underhand grip tapi aku rasa itu hanya preferensi.</p>
  <h1 id="pemotongan">Pemotongan</h1>
  <p>Di tahun sebelumnya bapak ku tidak ikut menjadi panitia kurban tapi beliau bisa menjadi panitia kurban, bagian dia adalah memotong tulang dan rusuk dari hewan kurban. Aku ikut pemotongan daging ketika proses sembelih kambing telah selesai dan membawa pisau ku sendiri, selama proses pemotongan pada awalnya aku tidak ikut memotong karena kebanyakan daging yang dipotong adalah kambing dan kambing tidak memiliki banyak daging justru lebih banyak memotong tulangnnya dengan golok dan kapak.</p>
  <p>Aku hanya memotong kaki kambing sebanyak 2 ekor sambil menunggu sapi telah selesai dikuliti dan kakinya telah dipotong untuk diambil dagingnya. Kira kira aku memotong 4 kaki sapi, pisau yang kupakai lumayan besar dibandingkan panitia lain yang memakai cutter ataupun pisau kecil.</p>
  <p>Sebelum dipotong kakinya diangkat dan diletakan di tali sehingga kakinya menggantung agar mudah dipotong, ku mulai dengan memotong pergelangan kakinya secara memutar dan pelan pelan memotong kebawah sambil memutar untuk memastikan dagingnya terpotong semuanya. Beberapa kali dengan cara ini aku menyentuh bagian tulangnya dan memotong sendi dari kaki sapi dan keluar cairan bening dari tulangnya aku belum tahu fungsinya untuk apa tapi dengan cara ini aku ingin mendapatkan semua daging dari kaki sapi.</p>
  <h1 id="pendistribusian">Pendistribusian</h1>
  <p>Pemotongan berlangsung sampai waktu Dzuhur, setelah ishoma aku melanjutkan tugas ku dengan bagian pendistribusian daging dan tulang. Bagiku ini bagian yang menyulitkan karena panitia harus menimbang dagingnya dengan pas seperti 900 gram daging sapi dan diberi 1-2 tulang namun tidak berjalan semudah itu karena:</p>
  <ol>
    <li>Daging yang dicacah tidak rapih, kadang ada daging yang kebesaran sehingga sudah mencapai 600-800 gram dan mencari daging kecil itu sulit apalagi harus memotongnya.</li>
    <li>Kordinator panitianya merubah besaran dari daging sapinya, pertama 900 gram, kedua 800 gram dan terakhir 700 gram. Mungkin ini karena daging sapi nya mulai sedikit sehingga dikompensasikan dengan menambah tulang dan isi perut dari hewan kurban.</li>
  </ol>
  <p>Aku tidak ikut pada bagian distribusi hati hewan kurban karena aku tidak melihat tempatnya jadi setelah selesai membagikan daging sapi aku langsung istirahat dan menunggu pembagian daging untuk panitia.</p>
  <h1 id="next-year">Next Year</h1>
  <p>Tahun ini aku mengikuti bagian yang pernah aku lakukan di tahun sebelumnya jadi aku tahu harus bantu apa, para anak anak karang taruna ditugaskan untuk distribusi makanan ke panitia serta daging kepada keluarga di perumahan.</p>
  <p>Ada bagian yang ingin kucoba tahun berikutnya yaitu pengulitan hewan kurban dan mengeluarkan isi perut dari hewan kurban karena kelihatannya menarik buat dicoba. Aku masih belum berani untuk melakukan penyembelihan tapi aku harap jika melakukan kurban aku bisa melakukannya sendiri.</p>
  ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="kurban" /><category term="iduladha" /><category term="panitia" /><summary type="html"><![CDATA[Di tahun sebelumnya aku sudah pernah menjadi panitia kurban dan pada tahun ini kembali lagi menjadi panitia dan dengan pengalaman sebelumnya aku bisa mengikuti setiap bagian pekerjaan dengan lebih baik.]]></summary></entry><entry><title type="html">New Personal Best Survival in May</title><link href="https://akmalmaulana.net/blog/2026/05/25/may-pb-l4d2.html" rel="alternate" type="text/html" title="New Personal Best Survival in May" /><published>2026-05-25T15:53:22+07:00</published><updated>2026-05-25T15:53:22+07:00</updated><id>https://akmalmaulana.net/blog/2026/05/25/may-pb-l4d2</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/05/25/may-pb-l4d2.html"><![CDATA[<p>In the past two weeks I have been playing L4D2 frequently since the server is now completed with SourceTV support so I have solid setup for plugins in the Server that I can expand.</p>
  <p>For the past 2 years I don’t play L4D2 for two reason I don’t want my parent angry at me for playing games and second I have other activity that can fill my days like GYM, working on project, blogging, and studying but at one point I realise I have too much time because I am unemployed and not actively looking for work so the next thing I can do is try again L4D2 to derust my self from long hiatus.</p>
  <h1 id="bus-depot">Bus Depot</h1>
  <p>As the thumbnail show this my current highest record in Survival and I still don’t expect to play that long after hiatus, for perspective my latest PB is <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3617591975">Generator Room for 70 minutes</a> and my latest attempt for <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3254974739">100 minutes is Drains in <strong>2024</strong></a>.</p>
  <p>I rarely play long map because my physical not capable to play after 100 minutes, either my mind goes blank or I am already tired and hungry. That’s why most of my 100 Minutes map is low 100 like 110 or 130. Is not lack of skills but lack of stamina to play endurance map.</p>
  <p>But this time is different, I join this game because I saw my friends play and is 3/4 I though they already play Trio but they haven’t started yet so I joined them, we started at 16.30 my local time and I don’t like play at afternoon because the humidity is high and the room can get uncomfortable to play.</p>
  <p>I have to endure this for first 90 minutes after that is evening and the room is comfortable to play, I though they will stop at 100 minutes because usually one of them will stop but they don’t show any sign to stop so we continue until past 200 minutes, I even joking should we get 300 minutes and they still don’t stop shooting the zombies. Is not I want to give in but because the teams seems doesn’t want to stop since we go this deep and I also don’t want to disappointed them so I keep playing until the end.</p>
  <p>They are several factor we can get this record:</p>
  <ol>
    <li>Exerude is probably the strongest player in AU for now, He is the key in teams since he cover both area front and back from SI and Tank. My Post fill the backside of the map cover the back area and on the rooftop but at the time my aiming still lacking and Exer time to time check my position kill most of the SI there.</li>
    <li>Improved Stamina, as mentioned previous paragraph physically I can’t handle long map but I am really suprised to hold that long this time and the reason is <em>bulking</em>. I have been bulking this past 5 months and my weight went from 65Kg to 73Kg, I am bulking because I am skinny now with my current weight I can perform better in my daily life and not tired out easily. If I play this map with my weight about 60-65Kg like during college I am probably pass out after 200 but even after 200 minutes I still have the pace to keep going until 300.</li>
    <li><a href="/blog/2026/01/22/aku-tidak-akan-rakit-pc-pada-2026.html">Lifting Weight</a>, I think this two factor goes hand in hand. They are saying if you want to lift more weight you need to bulking since I am bulking I can now play long map. You might be wondering why lifting weight have any to do with survival? because at 200 minutes marks I try to compare 90 minutes in the GYM with this rounds and for me 90 minutes in GYM is more difficult because you still need to lift challenging weight and make sure you are <em>progressively overload</em> during the GYM session as for Survival you probably still doing the same thing as you did in 30 minutes marks, the only time you <em>“progressively overload”</em> if one of you teammate is down or get push out of the position but mostly in Survival you only maintain and try to keep the pace during the rounds.</li>
  </ol>
  <h1 id="float">Float</h1>
  <figure class=" ">
    <a href="https://images.steamusercontent.com/ugc/16288285882554389364/DB4350982CCC0AE694CD97C92F7BDAA8A221F763/?imw=5000&amp;imh=5000&amp;ima=fit&amp;impolicy=Letterbox&amp;imcolor=%23000000&amp;letterbox=false">
      <img src="https://images.steamusercontent.com/ugc/16288285882554389364/DB4350982CCC0AE694CD97C92F7BDAA8A221F763/?imw=5000&amp;imh=5000&amp;ima=fit&amp;impolicy=Letterbox&amp;imcolor=%23000000&amp;letterbox=false" alt="" />
    </a>
    <figcaption>https://steamcommunity.com/sharedfiles/filedetails/?id=3730745819
    </figcaption>
  </figure>
  <p>This map is my idea and since me and my teammate will play in away server I think is better we play as support and the home team play as baiting, it when quite well both us of can maintain pace consistently the only the problem is one of the baiting support keep getting damage by spitter and still figuring out what they are doing.</p>
  <p>For this round we lacking damage and pace for baiting team and that’s why we only manage 150 minutes, but still PB for all of us and we improve for 20 minutes from previous record.</p>
  <h1 id="runway">Runway</h1>
  <figure class=" ">
    <a href="https://images.steamusercontent.com/ugc/17474731123590296998/09512F0BEA124A007CE3F1845632E600CF310761/?imw=5000&amp;imh=5000&amp;ima=fit&amp;impolicy=Letterbox&amp;imcolor=%23000000&amp;letterbox=false">
      <img src="https://images.steamusercontent.com/ugc/17474731123590296998/09512F0BEA124A007CE3F1845632E600CF310761/?imw=5000&amp;imh=5000&amp;ima=fit&amp;impolicy=Letterbox&amp;imcolor=%23000000&amp;letterbox=false" alt="" />
    </a>
    <figcaption>https://steamcommunity.com/sharedfiles/filedetails/?id=3727838115
    </figcaption>
  </figure>
  <p>I play Runway first before Float and this two map have similar pace where I play as support role, I am still at learning phase to play Runway but now as an support I can balance where to support and known how to effectively kill the tank before going too far.</p>
  <p>The problem I encounter is latency and it effect how my bullets damage the tank, I still thinking I should deal way more damage to the tank but my bullets seems doesn’t register. Maybe that’s we used lot more kits in earlier rounds and have nothing left after 100 minutes.</p>
  <h1 id="crash-course-bridge">Crash Course Bridge</h1>
  <figure class=" ">
    <a href="https://images.steamusercontent.com/ugc/14615721568167627889/C75959FE0E902B447247374F249F4F4ED892B91B/?imw=5000&amp;imh=5000&amp;ima=fit&amp;impolicy=Letterbox&amp;imcolor=%23000000&amp;letterbox=false">
      <img src="https://images.steamusercontent.com/ugc/14615721568167627889/C75959FE0E902B447247374F249F4F4ED892B91B/?imw=5000&amp;imh=5000&amp;ima=fit&amp;impolicy=Letterbox&amp;imcolor=%23000000&amp;letterbox=false" alt="" />
    </a>
    <figcaption>https://steamcommunity.com/sharedfiles/filedetails/?id=3727838115
    </figcaption>
  </figure>
  <p>I play as support sniper in this map and I rarely doing well in CC Bridge because lack of damage from either side of the teams or the sniper doesn’t know what they are doing but this time the experience is much better.</p>
  <p>This round end because we failed during the medkits run I am got stuck at the woods and my teammate can’t help me, I guess the bad call during the medkit where two tank supposedly follow at the end tail of team but it got split and cut us off.</p>
  <p>I realize most of my personal best recently I play as support and in away server, playing in away server doesn’t effect much of my performance but my lack of gamesense hindrance my judgment during the game for instance if the rounds doesn’t goes well I want to give up and restart but saw my teammate still fighting make me realize how far my gaps with my current teammates that have improved this past 2 years and I have lot to do catch up to them.</p>
  <p>If my 2023 self see me now he will slaps me because how weak I am, but I have said to myself that this year I will try to striving and I am fire up to get back in the game because I have conquer one of my weakness which is endurance.</p>
  <p>And then there is only one thing to do <strong>Upgrade my PC</strong>.</p>
  ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="l4d2" /><category term="survival" /><category term="reflection" /><summary type="html"><![CDATA[In the past two weeks I have been playing L4D2 frequently since the server is now completed with SourceTV support so I have solid setup for plugins in the Server that I can expand.]]></summary></entry><entry><title type="html">Niri support for Screen Tearing</title><link href="https://akmalmaulana.net/blog/2026/05/17/niri-tearing.html" rel="alternate" type="text/html" title="Niri support for Screen Tearing" /><published>2026-05-17T13:48:04+07:00</published><updated>2026-05-17T13:48:04+07:00</updated><id>https://akmalmaulana.net/blog/2026/05/17/niri-tearing</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/05/17/niri-tearing.html"><![CDATA[<p>Sudah hampir 6 bulan aku memakai Niri sebagai compositor ku di Linux, aku memilih Niri karena dynamic workspacenya cocok dengan cara ku bekerja yaitu tidak mau mengatur windows.</p>
  <p>Ketika pertama kali mencoba Niri aku tidak tahu kalau Niri belum mendukung <a href="https://techreviewadvisor.com/screen-tearing-explained/">screen tearing</a>, Screen tearing ini berguna untuk monitor hertz rendah karena FPS nya tidak dibatasi oleh vsync sehingga input latency nya menjadi rendah cocok untuk game FPS.</p>
  <p>Saat ini maintainernya sedang menunggu <a href="https://github.com/niri-wm/niri/issues/844">update dari upstream depedency</a> yang menambah dukungan screen tearing dan pas aku cek repo dari depedency tersebut belum di merge update untuk screen tearing sehingga untuk saat ini aku menggunakan Fork Niri milik <a href="https://github.com/urayde/niri">urayde</a>.</p>
  <p>Setelah aku mencoba menggunakannya untuk bermain game Left 4 Dead 2 input latency yang aku dapatkan lebih rendah dari pada KDE Plasma serta FPS yang aku dapatkan juga konsisten, dengan ini aku tidak perlu berpindah ke KDE Plasma untuk bermain game dan bisa menunggu mainline dari Niri melakukan update untuk screen tearing.</p>
  <figure class=" ">
    <a href="/assets/images/blog/2026-05-17-niri-tearing/niri-tearing.png">
      <img src="/assets/images/blog/2026-05-17-niri-tearing/niri-tearing.png" alt="" />
    </a>
  </figure>
  ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="compositor" /><category term="niri" /><category term="l4d2" /><category term="linux" /><summary type="html"><![CDATA[Niri please add support for Tearing]]></summary></entry><entry><title type="html">Does Container Network will Effect Gameserver</title><link href="https://akmalmaulana.net/blog/2026/05/09/container-networking-ingame.html" rel="alternate" type="text/html" title="Does Container Network will Effect Gameserver" /><published>2026-05-09T09:39:36+07:00</published><updated>2026-05-09T09:39:36+07:00</updated><id>https://akmalmaulana.net/blog/2026/05/09/container-networking-ingame</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/05/09/container-networking-ingame.html"><![CDATA[<p>As I <a href="/blog/2026/05/08/modding-is-harder-than-starting-gameserver.html">posted previously</a> starting game server is easy but there is concern when I make as container which is how to handle Networking and Storage.</p>
  <p>Initially I thought each container can run the same port like 27015 and then I can bind it to host port with different number of port - Steam Game default port is 27015. But I facing issue where I can’t create lobby inside the server, I can see the server listing on steam groups but the server won’t create and showing error “Can’t Create lobby”.</p>
  <p>My guess is the Steam Master Server saw my client which hosting the game server and see the same IP Public and Port then decide “you can’t have same port with the same IP” and then reject user creating lobby from the said server, I guess is the classic you can’t have two application listening on the same port of the host in this case Steam see my IP Public and Port where the game running:</p>
  <figure class=" ">
    <a href="/assets/images/blog/2026-05-08-container-networking-ingame/server-stats.png">
      <img src="/assets/images/blog/2026-05-08-container-networking-ingame/server-stats.png" alt="" />
    </a>
    <figcaption>Even if i modify the internal IP the Steam only see the public IP!
    </figcaption>
  </figure>
  <p>The work around is using different port when starting the game so you can have survival server running in port 27015 and then versus server in port 27016 so the game server doesn’t have conflicting port but I don’t know what is the maximum number port you can have in single instance.</p>
  <p>Speaking of Application, my Steam friend asking me what jobs IT I did and after few exchanges about running the game server inside the container he arise some concern regarding networking performance:</p>
  <figure class=" ">
    <a href="/assets/images/blog/2026-05-08-container-networking-ingame/friend-concern.png">
      <img src="/assets/images/blog/2026-05-08-container-networking-ingame/friend-concern.png" alt="" />
    </a>
    <figcaption>Tick Rate is like FPS but for the server, how much input can you put in to the server. Higher is better
    </figcaption>
  </figure>
  <p>I think is valid concern and the answer is doesn’t matter because container is virtualization like Virtual Machine but unlike Virtual Machine where it simulate all the hardware and OS for running software Container is groups of process isolated with cgroup and namespace that give container ability for networking and storage that why it feels like VM.</p>
  <p>That’s the reason why networking performance I think is on par with VM, also Container support UDP protocol that’s use for game server so that’s another reason why I use container to serve game server since is the way to go to have multiple game server in one VPS and is cheaper than having multiple VPS unless you need support for other region.</p>
  <p>I have been testing it with my friends and it can handle Campaign and Survival Mode, I don’t see any lag or drop of performance. Heck I even modify one of the game server to have 100 tick rate to see if it can handle it.</p>
  <figure class="half ">
    <a href="/assets/images/blog/2026-05-08-container-networking-ingame/tick-rate.png">
      <img src="/assets/images/blog/2026-05-08-container-networking-ingame/tick-rate.png" alt="" />
    </a>
    <figcaption>Look 100 tick ma
    </figcaption>
  </figure>
  <p>I will write about storage related topics in separate blog and make tutorial how to deploy it yourself in your own hardware.</p>
  ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="gameserver" /><category term="networking" /><category term="container" /><summary type="html"><![CDATA[As I posted previously starting game server is easy but there is concern when I make as container which is how to handle Networking and Storage.]]></summary></entry><entry><title type="html">Memulai Game Server lebih mudah dibandingkan Modding Server</title><link href="https://akmalmaulana.net/blog/2026/05/08/modding-is-harder-than-starting-gameserver.html" rel="alternate" type="text/html" title="Memulai Game Server lebih mudah dibandingkan Modding Server" /><published>2026-05-08T15:22:00+07:00</published><updated>2026-05-08T15:22:00+07:00</updated><id>https://akmalmaulana.net/blog/2026/05/08/modding-is-harder-than-starting-gameserver</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/05/08/modding-is-harder-than-starting-gameserver.html"><![CDATA[<p>Selama 2 minggu terakhir di bulan April aku menjalankan misi yaitu mencoba membuat game server di dalam container, aku berpikir melakukan ini setelah magang 6 bulan menjadi DevOps Engineer dan merasa kalau game server di dalam container bisa dilakukan selama depedensi dan cara memulai gamenya bisa diatur di dalam <a href="https://docs.docker.com/reference/dockerfile/">Dockerfile</a>.</p>
  <p>Aku mengikuti guide milik <a href="https://github.com/fbef0102/Sourcemod-Server">Harry Potter</a> dalam instalasi game server, aku pertama kali mencobanya di laptop lama. Pada guide yang kutemukan di internet <em>user</em> bisa mendownload secara anonim lewat <code class="language-plaintext highlighter-rouge">steamcmd</code> namun sekarang tidak bisa dan harus login terlebih dahulu, aku melihat <a href="https://steamcommunity.com/app/550/discussions/0/599642275953250985/">forum di steam</a> untuk alternatif lainnya yaitu menggunakan <a href="https://github.com/SteamRE/DepotDownloader">DepotDownloader</a> dan ketika aku coba pakai buat download gamenya ternyata berhasil dan game servernya sudah bisa dijalankan walaupun local.</p>
  <p>Tahap berikutnya adalah mencoba packaging L4D2 Servernya ke dalam container, selama aku membuatnya aku tidak tahu kalau <a href="https://hub.docker.com/r/cm2network/steamcmd"><code class="language-plaintext highlighter-rouge">steamcmd</code> sudah ada Docker Imagenya</a> sehingga selama aku membuat imagenya masih belum mengetahui apa saja yang diperlukan oleh steam client sehingga ada beberapa error seperti game tidak mau jalan, game tidak terdeteksi, ataupun steamclientnya tidak terkoneksi. Karena itu aku mengikuti instalasi <code class="language-plaintext highlighter-rouge">steamcmd</code> dari <a href="https://github.com/CM2Walki/steamcmd/blob/master/trixie/Dockerfile">repository CM2WAIKI</a> mulai dari konfigurasi steamcmd sampai home usernya.</p>
  <p>Setelah di buatkan Image untuk download steamcmd dan entrypoint untuk download gamenya hal berikutnya adalah menjalankan game server di dalam container, ketika dijalankan terjadi error yaitu steamclientnya tidak bisa dijalakan dari execstack. Dari <a href="https://steamcommunity.com/app/224260/discussions/2/565867433751020858/">forum steam ini</a> dijelaskan kalau Valve update runtime dari library mereka kemudian sistem operasi yang saat ini mencegah kode eksekusi di dalam stack karena dikira adalah <em>malicious behavior</em> demi keamanan sistem. Jalan keluarnya adalah menggunakan <code class="language-plaintext highlighter-rouge">pathelf</code> untuk clear execstack dari binary yang dipakai.</p>
  <p>Setelah itu selesai game berhasil dijalankan dan aku berhasil terhubung dengan server yang ada di dalam container, aku akan jelaskan ini di <a href="/homelab/gameserver">dokumentasi nya tersendiri</a> bagaimana pendekatan ku dan cara kerjanya. Dari sini merasa bahwa 80% pekerjaan untuk menjalankan game server di dalam container sudah selesai. 20% nya adalah menambahkan plugin, membuat server configuration, dokumentasi cara memakai imagenya dan berbagai macam tahapan yang berada di <em>downstream</em> nantinya.</p>
  <p>Mari bicara mod dalam server, pada sourcegame modding dan scripting yang populer adalah <a href="https://www.sourcemod.net/about.php">Sourcemod</a> dan <a href="https://www.metamodsource.net/about">Metamod</a>. Valve merilis gamenya dengan dua versi yaitu Linux dan Windows, Sourcemod dan Metamod juga memiliki dua versi untuk sistem operasi Linux dan Windows. Pada tahap instalasi mod mengalami kegagalan yaitu salah memasang versi dari SM dan MM, karena server yang kujalankan adalah Linux maka aku perlu binary untuk Linux sedangkan yang aku pakai adalah versi Windows, aku tidak sadar ini karena aku hanya copy paste dari repository dan tidak menyadari pesan di <em>readme</em> nya yang tertulis kalau plugins ini untuk Windows. Aku baru sadar ketika melihat extensi dari binarynya itu <code class="language-plaintext highlighter-rouge">.dll</code> dan extensi ini hanya bisa bekerja untuk Windows.</p>
  <p>Setelah instalasi SM dan MM berhasil berikutnya adalah mencari plugins yang support platfrom yang dipakai untuk server, karena tidak semua plugins yang dicompile untuk Windows bisa dipakai untuk Linux seperti plugins <a href="https://github.com/lakwsh/l4dtoolz">l4dtoolz</a> plugins ini berfungsi untuk mengatur jumlah player serta tick rate di dalam server. Di dalam releasenya ada dua versi yaitu untuk Windows dan Linux, namun ada beberapa plugins yang tidak release versi Linux nya sehingga harus build from source untuk bisa memakai pluginsnya.</p>
  <p>Souremod memiliki extensi khususnya yaitu <code class="language-plaintext highlighter-rouge">.smx</code> untuk plugins yang dipakai, dari observasi ku tentang direktori struktur sourcemod ada scripting dan include, scripting ini adalah bahasa pemrograman yang dipakai untuk membuat plugins kemudian include sebagai tempat untuk data struktur yang akan dipakai oleh progrmnya. Setelah membuat plugins yang diinginkan menggunakan sourcespawn berikutnya adalah compile, sourcemod menyediakan compile dengan Windows maupun Linux yang aku belum tahu apakah plugins dari SM terpengaruhi jika di compile oleh Windows maupun Linux.</p>
  <p>Dan masih banyak lagi yang aku belum ketaui yaitu extension untuk sourcemod fungsinya untuk apa lalu metamod memiliki formatnya sendiri yaitu <code class="language-plaintext highlighter-rouge">.vdf</code> dan aku belum tahu ini fungsinya apa, yang pasti menurutku mendapatkan plugins ataupun menulis sendiri itu lebih sulit dibandingkan deploy game server. Menurutku orang awam yang ingin hosting servernya sendiri tanpa plugins bisa melakukannya dalam 20 menit sedangkan plugins bisa menghabiskan seharian karena faktor faktor seperti extension yang diperlukan, apakah untuk Linux atau Windows, lalu data data lain yang diperlukan agar plugins itu bisa bekerja memperlukan resource lebih banyak dibandingkan memulai server.</p>
  ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="l4d2" /><category term="modding" /><category term="server" /><summary type="html"><![CDATA[Selama 2 minggu terakhir di bulan April aku menjalankan misi yaitu mencoba membuat game server di dalam container, aku berpikir melakukan ini setelah magang 6 bulan menjadi DevOps Engineer dan merasa kalau game server di dalam container bisa dilakukan selama depedensi dan cara memulai gamenya bisa diatur di dalam Dockerfile.]]></summary></entry><entry><title type="html">Changing My Domain Name</title><link href="https://akmalmaulana.net/blog/2026/05/01/change-my-domain-name.html" rel="alternate" type="text/html" title="Changing My Domain Name" /><published>2026-05-01T00:00:00+07:00</published><updated>2026-05-01T00:00:00+07:00</updated><id>https://akmalmaulana.net/blog/2026/05/01/change-my-domain-name</id><content type="html" xml:base="https://akmalmaulana.net/blog/2026/05/01/change-my-domain-name.html"><![CDATA[<p>Today I register new domain for this website with akmalmaulana.net, I register new one becasue two reason:</p>
  <ol>
    <li>My legacy domain akmal-maulana.my.id is too difficult to type specially for adding register in my git server.</li>
    <li>I am renting VPS and has been using it for my homelab to deploy service like <a href="/blog/2026/04/16/pain-and-suffering-with-podman.html">Game Server, Git Server, and this website</a> and it has been an exciting journey to setup it from ground up. Orginally i am planning to move over the old domain but I figure just buy new one instead.</li>
    <li>I think is much more cool to have domain with .net insteand of .my-id.</li>
  </ol>
  <p>I am writing this because inspire by <a href="https://shellsharks.com/just-put-it-on-your-blog">shellsharks blog</a> to put my documentation and writing in my website instead of legacy media sosial Facebook. And I am planning to deploy N8N to hopefully make it easier to share my blog to my friends.</p>
  ]]></content><author><name>Akmal Maulana</name><email>akmalmaulana915@gmail.com</email></author><category term="blog" /><category term="website" /><summary type="html"><![CDATA[Today I register new domain for this website with akmalmaulana.net, I register new one becasue two reason: My legacy domain akmal-maulana.my.id is too difficult to type specially for adding register in my git server. I am renting VPS and has been using it for my homelab to deploy service like Game Server, Git Server, and this website and it has been an exciting journey to setup it from ground up. Orginally i am planning to move over the old domain but I figure just buy new one instead. I think is much more cool to have domain with .net insteand of .my-id.]]></summary></entry></feed>