Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
AstonishedLiker committed Nov 13, 2024
1 parent 343180f commit 8246ac3
Show file tree
Hide file tree
Showing 11 changed files with 1,965 additions and 0 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: npm install
- name: Run Tailwind CSS
run: npx tailwindcss -i input.css -o output.css
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
133 changes: 133 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# tailwindcss output
output.css
Binary file added assets/favicon.ico
Binary file not shown.
Binary file added assets/images/openac_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/pfp/Liker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/pfp/Unlimited.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
165 changes: 165 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./output.css">
<link rel="icon" href="./assets/favicon.ico">
<title>OpenAC</title>
</head>
<body class="h-screen w-screen p-6 max-[600px]:p-1">
<!-- TODO: Stupid hack. I hate this. Needs fix. -->
<div class="fixed dotted-background bg-[#020513]"></div>
<!-- Top Bar -->
<div class="fixed flex items-center translucent-themed-item border-2 h-24 max-[550px]:h-16 max-[550px]:p-4 max-[470px]:border max-w-[calc(100vw - 20px)] px-12 py-6 top-6 left-6 right-6 z-50">
<a datatarget="about" class="flex items-center max-[550px]:w-full h-full cursor-pointer">
<img src="./assets/images/openac_logo.png" alt="OpenAC Topbar Logo" class="h-full w-full object-contain">
</a>
<nav id="nav-links" class="flex items-center space-x-4 ml-auto max-[700px]:hidden"></nav>
</div>
<!-- Content -->
<div class="pt-36 px-7 space-y-24">
<section id="about" class="space-y-7">
<h1 class="title-label w-full text-center text-[160px] max-[1324px]:text-[100px] max-[625px]:text-[60px] max-[450px]:text-[45px]">OpenAC</h1> <!-- Title -->
<p>
Welcome to OpenAC, where we take Roblox® anti-cheat seriously... but not too seriously. Led by the unstoppable duo, Liker and Unlimited, we're here to save your experiences from exploiters, one cheat at a time.
We made the average game developer's treasure, like resources that cover advanced yet easy to prevent cheats, and solutions used in several experiences.
Whether you're a seasoned developer or just trying to keep your game free from hackers, we've got your back!
</p>
<p>
Our journey began with the creation of legendary anti-cheat tools like ASTON, Karma, LAT-AT, and Polygon AE — tools that have long since hung up their hats but still live on in the hearts (and code) of developers.
All this was before Roblox® partnered with Byfron Technologies in 2022, proving that we've been ahead of the curve in this battle.
We mix a little humor with our expertise, because who said keeping cheaters out can't be fun?
</p>
<h1 class="description-label font-jetbrains-mono text-xl max-[450px]:text-sm text-left">
With your help, let's make Roblox® fair — and have a few laughs along the way!
</h1>
</section>
<section id="team">
<div class="translucent-themed-container space-y-6">
<h1 class="title-label text-[100px] max-[700px]:text-[60px] text-center">The Team</h1>
<div class="grid grid-cols-1 min-[1200px]:grid-cols-2 gap-5">
<div class="card-item">
<img src="./assets/pfp/Liker.png" alt="Liker's profile picture">
<div class="card-owner-info">
<h1>Liker</h1>
<p>Founder</p>
</div>
<p>
Hi, I'm Liker, the founder of OpenAC and someone who's all about creating smarter, more resilient yet lightweight anti-cheat systems.
Since diving into cybersecurity at a young age, I've been driven to make online environments safer—especially on Roblox, where I work on innovative anti-exploit techniques and help developers stay one step ahead of exploiters.
</p>
</div>
<div class="card-item">
<img src="./assets/pfp/Unlimited.png" alt="Unlimited's profile picture">
<div class="card-owner-info">
<h1>Unlimited</h1>
<p>Co-Founder</p>
</div>
<p>
Hi, I am Unlimited. I'm a dedicated Roblox developer with a strong focus on anti-cheat solutions, known for creating and sharing methods to detect and counteract exploits in Roblox games.
Over the years, I've gained recognition in the developer community for my detailed posts and effective anti-cheat techniques, aimed at protecting games from various vulnerabilities and exploit attempts.
</p>
</div>
</div>
<div class="translucent-themed-container max-[600px]:p-5 space-y-6">
<p class="recap-label">
Together, we're focused on making Roblox a safer, fairer place to play, so developers can focus on creating and players can enjoy the game, worry-free.
</p>
</div>
</div>
</section>
<section id="impact" class="space-y-8">
<h1 class="section-title-label">Our Impact</h1>
<p>
We're not just building tools — we're making a real difference in the Roblox community by giving developers the power to detect exploiters and keep their games safe.
From industry veterans to new developers, people rely on our anti-cheat solutions daily to stay ahead of game-breaking exploits.
Our methods are tested, battle-proven, and — if we're being honest — kind of fun to watch in action.
Every 45 seconds, this counter will update to an approximated total amount of exploiters since OpenAC was firstly implemented.
Don't take our word for it — check this <a href="https://TO_FILL/" target="_blank" class="text-blue-300">webpage's source code</a> yourself if you're skeptical.
</p>
<h5 class="recap-label">
We're all about transparency, proof, and keeping the games you love secure.
</h5>
<div class="flex flex-col items-center space-y-4">
<h1 id="cheater-counter" class="translucent-themed-item rounded-md border font-jetbrains-mono font-extralight text-white text-6xl text- text-center px-12 mt-4 w-fit">13371337</h1>
<p class="text-center font-semibold">Cheaters were detected with OpenAC since it was firstly implemented. (Not working yet, soon™)</p>
</div>
</section>
<section id="contact">
<h1 class="section-title-label">Contact Us</h1>
<div class="grid grid-cols-1 justify-items-center min-[1200px]:grid-cols-2 gap-5 translucent-themed-container">
<p>To contact us, join our community server!</p>
<iframe src="https://discord.com/widget?id=1259217837969375372&theme=dark" allowtransparency="true" frameborder="0" sandbox="allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts" class="w-full max-w-[600px] h-[500px]"></iframe>
</div>
</section>
<div class="flex flex-col items-center w-full">
<p class="copyright-label text-sm">© 2024 OpenAC - All rights reserved</p>
<p class="copyright-label text-xs">
The Roblox® platform, its name, logo, and other related trademarks are the property of Roblox Corporation.
</p>
</div>
</div>

<!-- Scripts -->
<script>
document.addEventListener("DOMContentLoaded", () => {
let navLinks = document.getElementById("nav-links");
let cheaterCounterElement = document.getElementById("cheater-counter");
let cheaterCount = 0;

const links = [
['About', 'about'],
['Team', 'team'],
['Impact', 'impact'],
['Contact', 'contact']
];

links.forEach(([title, datatarget]) => {
const navItem = document.createElement("p");
navItem.className = "nav-item cursor-pointer";
navItem.setAttribute("datatarget", datatarget);
navItem.innerText = title;

navItem.addEventListener("click", () => {
const targetSection = document.getElementById(datatarget);
if (targetSection) {
targetSection.scrollIntoView({
behavior: "smooth"
});
} else {
console.warn(`Section '${datatarget}' not found.`);
}
});

navLinks.appendChild(navItem);
});

function formatWithDots(number) {
return number.toLocaleString().toLocaleString(
undefined,
{ minimumFractionDigits: 2 }
);
}

cheaterCounterElement.textContent = formatWithDots(13371337);

function updateCheaterCount() {
fetch("https://api.open-ac.xyz/cheater-count")
.then(response => response.json())
.then(data => {
if (data && data.success && typeof data.count === 'number') {
cheaterCounterElement.textContent = formatWithDots(data.count);
} else {
console.warn("Unexpected data format from API:", data);
}
})
.catch(error => console.error("Error fetching cheater count:", error));
}

updateCheaterCount();
setInterval(updateCheaterCount, 45000);
});
</script>
</body>
</html>
Loading

0 comments on commit 8246ac3

Please sign in to comment.