Open service 35.185.44.232:443 · botforgrindfest.com
2026-01-12 16:33
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 5771
Content-Type: text/html; charset=utf-8
Etag: "4bdbcd654ff95bf28caf70e32b68b44a0a541acaa1342de3c6bdda134ce56941"
Expires: Mon, 12 Jan 2026 16:43:19 UTC
Last-Modified: Mon, 29 Sep 2025 04:03:28 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KESGW1P3AP3N4ZH55BJQGS0R
Date: Mon, 12 Jan 2026 16:33:19 GMT
Connection: close
Page title: | GrindFest
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> | GrindFest </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content=" | GrindFest ">
<link rel="icon" href="images/favicon.ico">
<link rel="stylesheet" href="public/docfx.min.css">
<link rel="stylesheet" href="public/main.css">
<meta name="docfx:navrel" content="toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
<meta name="loc:searchNoResults" content="No results for "{query}"">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="https://botforgrindfest.com/tutorials/index.html">
<img id="logo" class="svg" src="images/logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="content">
<div class="actionbar">
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<p>You don't need any experience with programming to learn <a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)">C#</a> and create your own bot. We'll start from the basics and gradually move to more advanced topics.</p>
<div style="font-size: 24px; font-weight: bold; color: #ff4500; text-align: center; margin: 20px 0;">
Let's start writing your <a href="https://botforgrindfest.com/tutorials/first-bot.html">First Bot</a>!
</div>
<p>If you have any questions, or just want to hang out with other people who are also learning to make bots, check out the <a href="https://discord.gg/EYuntXxrpt">Discord server</a>.</p>
<br>
<!-- src="https://grindfest-web.vercel.app/game-status/embed" -->
<div class="game-status-container">
<iframe allowtransparency="true" id="status-frame" width="100%" height="600px" frameborder="0">
</iframe>
</div>
<script>
// function resizeIframe(obj) {
// obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
// }
(function() {
const frame = document.getElementById('status-frame');
const bg = getComputedStyle(document.body).getPropertyValue('--bs-body-bg') || 'transparent';
// frame.src = `http://localhost:3000/game-status/embed?bg=${encodeURIComponent(bg)}`;
frame.src = `https://grindfest-web.vercel.app/game-status/embed?bg=${encodeURIComponent(bg)}`;
})();
</script>
<div style="display: flex; justify-content: center; align-items: center; gap: 20px;"
Open service 35.185.44.232:80 · botforgrindfest.com
2026-01-12 16:33
HTTP/1.1 301 Moved Permanently content-type: text/html; charset=utf-8 location: https://botforgrindfest.com/ permissions-policy: interest-cohort=() vary: Origin x-request-id: 01KESGW1ERH5WMSY1J8K2W162D date: Mon, 12 Jan 2026 16:33:19 GMT content-length: 63 gitlab-lb: haproxy-pages-04-lb-gprd gitlab-sv: pages-us-east1-b connection: close <a href="https://botforgrindfest.com/">Moved Permanently</a>.
Open service 35.185.44.232:443 · botforgrindfest.com
2026-01-04 06:19
HTTP/1.1 200 OK
Cache-Control: max-age=600
Content-Length: 5771
Content-Type: text/html; charset=utf-8
Etag: "4bdbcd654ff95bf28caf70e32b68b44a0a541acaa1342de3c6bdda134ce56941"
Expires: Sun, 04 Jan 2026 06:29:09 UTC
Last-Modified: Mon, 29 Sep 2025 04:03:28 GMT
Permissions-Policy: interest-cohort=()
Vary: Origin
X-Request-Id: 01KE3THQ3AGB5PPW6XDXQMD5FQ
Date: Sun, 04 Jan 2026 06:19:09 GMT
Connection: close
Page title: | GrindFest
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> | GrindFest </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content=" | GrindFest ">
<link rel="icon" href="images/favicon.ico">
<link rel="stylesheet" href="public/docfx.min.css">
<link rel="stylesheet" href="public/main.css">
<meta name="docfx:navrel" content="toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
<meta name="loc:searchNoResults" content="No results for "{query}"">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="https://botforgrindfest.com/tutorials/index.html">
<img id="logo" class="svg" src="images/logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="content">
<div class="actionbar">
<nav id="breadcrumb"></nav>
</div>
<article data-uid="">
<p>You don't need any experience with programming to learn <a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)">C#</a> and create your own bot. We'll start from the basics and gradually move to more advanced topics.</p>
<div style="font-size: 24px; font-weight: bold; color: #ff4500; text-align: center; margin: 20px 0;">
Let's start writing your <a href="https://botforgrindfest.com/tutorials/first-bot.html">First Bot</a>!
</div>
<p>If you have any questions, or just want to hang out with other people who are also learning to make bots, check out the <a href="https://discord.gg/EYuntXxrpt">Discord server</a>.</p>
<br>
<!-- src="https://grindfest-web.vercel.app/game-status/embed" -->
<div class="game-status-container">
<iframe allowtransparency="true" id="status-frame" width="100%" height="600px" frameborder="0">
</iframe>
</div>
<script>
// function resizeIframe(obj) {
// obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
// }
(function() {
const frame = document.getElementById('status-frame');
const bg = getComputedStyle(document.body).getPropertyValue('--bs-body-bg') || 'transparent';
// frame.src = `http://localhost:3000/game-status/embed?bg=${encodeURIComponent(bg)}`;
frame.src = `https://grindfest-web.vercel.app/game-status/embed?bg=${encodeURIComponent(bg)}`;
})();
</script>
<div style="display: flex; justify-content: center; align-items: center; gap: 20px;"
Open service 35.185.44.232:80 · botforgrindfest.com
2026-01-04 06:19
HTTP/1.1 301 Moved Permanently content-type: text/html; charset=utf-8 location: https://botforgrindfest.com/ permissions-policy: interest-cohort=() vary: Origin x-request-id: 01KE3THPYPN3WSJN59WEKTGEP0 date: Sun, 04 Jan 2026 06:19:09 GMT content-length: 63 gitlab-lb: haproxy-pages-05-lb-gprd gitlab-sv: pages-us-east1-c connection: close <a href="https://botforgrindfest.com/">Moved Permanently</a>.