build time improvement
37
.gitignore
vendored
|
@ -1,37 +0,0 @@
|
|||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
.yarn/install-state.gz
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# next.js
|
||||
/.next/
|
||||
/out/
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
*.tsbuildinfo
|
||||
next-env.d.ts
|
||||
package-lock.json
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"tabWidth": 2,
|
||||
"semi": false
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
# About me version 2 :3
|
||||
|
||||
I had no much to say here, however.... >33333
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"~/*": ["./src/*"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
images: {
|
||||
remotePatterns: [
|
||||
{
|
||||
protocol: "https",
|
||||
hostname: "**",
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
module.exports = nextConfig
|
32
package.json
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"name": "fuse",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"format": "prettier . --write"
|
||||
},
|
||||
"dependencies": {
|
||||
"@phosphor-icons/react": "^2.0.15",
|
||||
"@vercel/analytics": "^1.5.0",
|
||||
"@vercel/speed-insights": "^1.2.0",
|
||||
"gray-matter": "^4.0.3",
|
||||
"markdown-it": "^14.0.0",
|
||||
"next": "^14.2.5",
|
||||
"react": "^18",
|
||||
"react-dom": "^18",
|
||||
"react-tooltip": "^5.25.0",
|
||||
"react-twemoji": "^0.5.0",
|
||||
"sharp": "^0.33.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/typography": "^0.5.10",
|
||||
"autoprefixer": "^10.0.1",
|
||||
"postcss": "^8",
|
||||
"prettier": "^3.1.1",
|
||||
"tailwindcss": "^3.3.0"
|
||||
},
|
||||
"packageManager": "pnpm@9.1.0+sha512.67f5879916a9293e5cf059c23853d571beaf4f753c707f40cb22bed5fb1578c6aad3b6c4107ccb3ba0b35be003eb621a16471ac836c87beb53f9d54bb4612724"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
---
|
||||
title: "I'm back but not the same."
|
||||
desc: This back to normal but not the same!
|
||||
date: "01-28-2025"
|
||||
tags:
|
||||
- website
|
||||
- domain
|
||||
- personal
|
||||
---
|
||||
|
||||
### This website is finally back up 🎉
|
||||
#### But not the same.
|
||||
This website is back but with different name but why?
|
||||
|
||||
### Lose access to blueskychan.dev
|
||||
A month ago, my domain **blueskychan.dev** expired, and unfortunately, I was going through a tough financial time, which meant I couldn’t afford to renew it. That’s why you might have noticed I switched to using **mind.notmycode.dev** for a while.
|
||||
|
||||
Yesterday, I decided to try renewing **blueskychan.dev** through my Namecheap dashboard, but to my surprise, I couldn’t find my domain anywhere.
|
||||

|
||||
|
||||
It seems like I’ll need to contact Namecheap support to recover it. Wish me luck!
|
||||
|
||||
On another note, I’m considering moving to **Cloudflare Registrar** because they’re much [cheaper than Namecheap!](https://tld-list.com/tld/dev)
|
||||
|
||||
### The effect of losing access
|
||||
I’ve updated my contact email and website! If you wish to contact me via email, my new address is [hello@mindhas403.dev](mailto:hello@mindhas403.dev).
|
||||
|
||||
This email is now my primary contact address, and I’m always happy to reply to your messages!
|
||||
|
||||
|
||||
|
||||
See ya!
|
|
@ -1,54 +0,0 @@
|
|||
---
|
||||
title: "Enough with Crazy Error"
|
||||
desc: "Thanks for everything, but it's time to move on."
|
||||
date: "05-11-2025"
|
||||
tags:
|
||||
- crazyerror
|
||||
- random
|
||||
---
|
||||
|
||||
# I'm Done with Crazy Error
|
||||
|
||||
I'm quitting Crazy Error completely. But why?
|
||||
|
||||
## What Is Crazy Error?
|
||||
|
||||
First, let's understand what Crazy Error is. It's a subgenre of YTPMV (YouTube Poop Music Video). The concept involves editing videos to look like chaotic Windows OS errors, often including message boxes, sound effects, background music (commonly *IOSYS – Marisa Stole the Precious Thing*), and usually ending with a blue screen.
|
||||
|
||||
The exact origins are unclear, but it likely started in Hong Kong or Taiwan, with the first known video titled *Windows XP Crazy Error*. It became popular in regions like Japan, Hong Kong, and Taiwan.
|
||||
|
||||
## How Are Crazy Errors Made?
|
||||
|
||||
Before 2013, most Crazy Errors were created using Adobe Flash. Nowadays, creators prefer tools like Adobe Premiere Pro or Vegas Pro for video editing, and REAPER for audio. Some use CapCut or other apps, but those are less common due to difficulty or limited features.
|
||||
|
||||
In the past, screen captures were done using Windows Snipping Tool or similar tools. From 2020 onward, tools like AeroRec or CppShot became more common.
|
||||
|
||||
## Why Do People Like Crazy Error?
|
||||
|
||||
If you enjoy YTPMVs, Crazy Error appeals for similar reasons. For some (like me), ADHD plays a role in enjoying this fast, chaotic content. It humorously exaggerates Windows’ flaws—almost like showing the OS can crash in absurd ways.
|
||||
|
||||
## Can Crazy Errors Be Different?
|
||||
|
||||
Absolutely. Many creators do collabs or use alternative background music, different OS themes (like Linux or macOS), and new styles beyond the original IOSYS format.
|
||||
|
||||
## What’s Wrong with the Crazy Error Community?
|
||||
|
||||
Honestly, the community is a mess. It's filled with unmanaged servers, immature mods, and a flood of kids making low-effort clones or stealing content without credit. Many try to act older to bypass age restrictions.
|
||||
|
||||
I was banned from a server (Fighter’s) after applying for mod—just because I was 14 at the time. They claimed I was "underage and annoying." It felt unfair.
|
||||
|
||||
Appealing bans is hard. Some people still falsely accuse me of carding or illegal activity without evidence, making unbanning nearly impossible. I'm not the only one affected—many face the same issues in this toxic and poorly moderated environment.
|
||||
|
||||
Still, not *everyone* is bad.
|
||||
|
||||
## What Does This Mean?
|
||||
|
||||
If I haven't finished a Crazy Error collab with you, I’m likely not going to. I'm officially quitting the scene.
|
||||
|
||||
I'll keep my old Crazy Error videos online (on YouTube and other platforms), but I won't be making new ones. I enjoy learning about Linux, Android, and tech stuff way more now. Crazy Error started worsening my ADHD, and the toxic community just made everything worse. I’ve had enough.
|
||||
|
||||
## Thank You
|
||||
|
||||
Thanks for all the support. I know many of you followed me since my early Crazy Error days (as Fusenice) or during my cringier moments. But we all grow up—and it’s time for me to move on.
|
||||
|
||||
See you around. <3
|
|
@ -1,323 +0,0 @@
|
|||
---
|
||||
title: "MCTham อาจจะเน่ากว่าที่คิด...ให้หนูพูดเถอะ"
|
||||
desc: MCTham with endless drama....
|
||||
date: "12-08-2024"
|
||||
tags:
|
||||
- drama
|
||||
- minecraft server
|
||||
---
|
||||
|
||||
> This article is also supported by another language: [English](/post/mccooked)
|
||||
>
|
||||
MCTham อาจจะเน่ากว่าที่คิด...ให้หนูพูดเถอะ
|
||||
|
||||
MCTham เคยเป็นเซิฟที่เคยทำด้วย "ใจ" กับ "ความสนุก" มาก่อนแต่ตอนนี้ทุกอย่างกำลัง "พัง" และไปด้วยแย่ (ในสายตาของหนู) หนูจะเล่าเรื่องให้ฟังแต่ว่าจะทำให้เกิดดราม่าเพิ่มเติมแต่ "ใครแคร์ถ้ามันเป็นเรื่องจริง"
|
||||
|
||||
### อะไรคือ MCTham
|
||||
|
||||
MCTham เป็นเชิฟ "มายคราฟ" ที่ถูกสร้างในช่วงปี 2564 โดย [Phapoom Saksri](https://github.com/blueskychan-dev) (เราเอง) กับ [Kanison Konkla](https://github.com/kanisonpoon) ในตอนแรกนั้นเซิฟ MCTham มีแผนว่าจะเป็นเซิฟมายคราฟที่จะมี miniganes/smp และมีฐานเป็น pocketmine และเป็นพาร์ทเนอร์กับยูทูปเบอร์อย่างพี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) อย่างไรก็ตามนี่คือรูปในช่วงแรกๆของการทำเซิร์ฟ MCTham ในช่วงปี 2564:
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
> ขอบคุณรูปภาพจากดิสคอร์ด [ThamTVMaster](https://discord.gg/urRKa7S) ด้วยค่ะ <3
|
||||
|
||||
อย่างไรก็ตามนี่คือ[ไลฟ์สตรีมแรก](https://www.youtube.com/watch?v=DHFFlpws4Ww)เกี่ยวกับเซิร์ฟ MCTham อย่างไรก็ตามเป็นเรื่องที่น่าสนใจเพราะว่าเซิฟนั้นได้ถูกรู้จักตรงกับวันเกิดของพี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster)
|
||||
|
||||
MCTham ประสบความสำเร็จในช่วง SMP SS.[1](https://www.youtube.com/watch?v=URXqntLwEPI) และ SS.[2](https://www.youtube.com/watch?v=jYe8J3ML3kI)
|
||||

|
||||
|
||||
> รูปภาพมาจากไลฟ์สตรีมในช่วงกิจกรรม Player hunter ใน SS.2
|
||||
|
||||
### ประวัติของ MCTham
|
||||
ในตอนแรกนั้น MCTham ถูกสร้างโดย [Phapoom Saksri](https://github.com/blueskychan-dev) (หนูเอง) และ พี่ [Kanison Konkla](https://github.com/kanisonpoon) เพราะว่าตอนนั้นหนูอายุแค่ 10-11 ขวบเท่านั้นแล้วหนูเจอพี่เขาตอนที่เขากำลังทำเซิฟมายคราฟในห้องคุยหรือซะที่นึงแล้วหนูก็เป็นจิตอาสาทดสอบเซิฟ/addon ให้เขาแล้วตอนนั้นมันสนุกมากเลยบอกเขาไปว่าสนใจทำเซิฟมายคราฟร่วมกันไหมเขาก็บอกว่า "โอเค"
|
||||
|
||||
และในตอนนั้นเอง พี่ MinaseYu ในตอนนั้นที่เป็นหัวหน้าแอดมินใหญ่ในดิส [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) หนูกับพี่เขาก็เลยคุยกันว่าสามารถช่วยทำ Lobby ให้เซิร์ฟ MCTham ได้ไหมและหลังจากที่คุยกันไปประมาณนึงเขาก็ตอบตกลง อย่างไรก็ตามในช่วงแรกพี่เขาก็ไม่เชื่อว่ามันจะประสบความสำเร็จขนาดนั้นแต่ว่าเราก็ทำไปด้วยความหวัง...
|
||||
|
||||
และตอนนั้น(เท่าที่ทำได้) หนูกับพี่ [Kanison Konkla](https://github.com/kanisonpoon) ได้คุยกับพี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) ในห้องคุยส่วนตัว(Direct Message) เกี่ยวกับเซิฟนี้แล้วเขาก็ตอบตกลง เราใช้ชื่อ MCTham เพราะว่า "MC" หมายถึงเกมมายคราฟและ "Tham" หมายถึงชื่อเล่นของพี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster)
|
||||
|
||||
Fun fact: รู้หรือไม่ว่า MCTham เคยมีปัญหากับการสร้าง Lobby มาก่อนเพราะว่าเรื่อง Pocketmine 3 ที่มีปัญหาในการให้บล็อกยึดติดกันเพราะว่าในตอนนั้น Pocketmine 4 ยังไม่ออกแล้วยังเป็นช่วงการพัฒนาอยู่ทำให้มีปัญหาประมาณนึงอย่างไรก็ตามเราก็พยายามทํา lobby ให้มันได้
|
||||
|
||||
แล้วก็หน้าที่ของแต่ละคนก็คือ หนูเป็นคนจัดหาเครื่องเซิฟเวอร์มาให้และปล่อยให้ พี่ [Kanison Konkla](https://github.com/kanisonpoon) จัดการแทบจะทุกอย่างเพราะว่าตอนนั้นหนูไม่มีคอมและความรู้เกี่ยวกับภาษา PHP ที่ใช้เป็นฐานหลักในตอนนั้น
|
||||
|
||||
อย่างไรก็ตามเซิร์ฟเวอร์กำลังไปได้สวยและผู้เล่นจาก [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) ก็เริ่มเล่น "SMP" เป็นสิ่งแรกที่ได้รับความนิยมทั้ง SS.1 และ SS.2
|
||||
|
||||
หนูทำอะไรไม่ค่อยได้มากแต่ว่าพี่ MinaseYu ถามเพื่อของเขาว่าสนใจเป็นแอดมินใน MCTham หรือเปล่าแล้วพวกเขาตกลง... (และเรื่องราวได้เริ่มขึ้น)
|
||||
|
||||
พี่ MinaseYu เชิญให้ทำความรู้จักกับเพื่อนของเขา "[Piyadon Chaengchenjai](https://github.com/HariUwU)" หรือรู้จักในฐานะชื่อ Cgggwtruck, The Fron Tv Minecraft, HariUwU หรือ OmagariHare และคนส่วนใหญ่รวมถึงพี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) เริ่มรู้จักพี่เขาหลังจากที่เขาทำกิจกรรม Parkour ผ่านแล้วก็ได้รางวัล อย่างไรก็ตามพี่เขาก็ได้เป็นแอดมินใน MCTham เนื่องจากเป็นเพื่อนของพี่เขาแต่ว่าหนูจำอะไรเยอะไม่ค่อยมากเพราะว่าเรื่องมันค่อนข้างจะนาน
|
||||
|
||||
ทุกคนคิดว่าทุกอย่างกำลังไปได้สวยทั้งทีมงานใหม่ทั้งคนใหม่... "ไม่รู้ว่ะ"
|
||||
|
||||
### ขาลง MCTham ในช่วงแรก (2565)
|
||||
หนูไม่ได้คิดว่าเรื่องมันจะเกิดเร็วขนาดนี้แต่ให้หนูพูดเถอะ...
|
||||
พี่ [Kanison Konkla](https://github.com/kanisonpoon) ในตอนนั้นเป็นคนที่ค่อนข้างจะ "ใจดี" ตัวอย่างก็เช่นแจกของให้เด็กแต่มีใครบางคนที่ไม่พอใจและต้องการความเปลี่ยนแปลง
|
||||
|
||||
พี่ [Piyadon Chaengchenjai](https://github.com/HariUwU) กับเพื่อนของเขาได้ทำสิ่งที่ไม่มีใครคาดฝันเนื่องจากว่าแอดมินทุกคนสามารถเข้าเครื่องเซิฟเวอร์ได้ถ้าได้ขอและพวกเขาได้ทำการเปลี่ยนรหัสผ่านเซิฟเวอร์และยึดอำนาจ MCTham จากพี่ [Kanison Konkla](https://github.com/kanisonpoon) แล้วเขาทำสิ่งที่เขาอยากทำ.....
|
||||
|
||||
อย่างไรก็ตามเนื่องจากหลายดราม่าที่ส่งผลต่อ [Kanison Konkla](https://github.com/kanisonpoon) ตัวอย่างก็เช่นกันโดน MCTham และอื่นๆทำให้โดนเกลียดจากทีม (เรื่องนี้มันจะยาวไปขอไม่เล่าแต่อาจจะได้เห็นเรื่องนี้ในบทความในต่อไปนี้ ;-;)
|
||||
|
||||
และเนื่องด้วยตอนนั้นทีมที่มายึดอำนาจนั้นไม่สามารถเขียนภาษา PHP ได้สำหรับ MCTham minigames ทำให้ MCTham minigames ถูกยกเลิกไปในที่สุดและมีเหลือแค่ "SMP" เท่านั้นเพราะว่าทีมงานในตอนนั้นสามารถเขียนได้แค่ JavaScript/TypeScript และในการทำ addon ให้ bedrock นั้นจำเป็นในการเขียน JS/TS ทำให้สามารถเดินต่อได้ เหมือนกำลังไปได้สวย.. (หรือเปล่านะ)
|
||||
|
||||
ดูเหมือนว่าแผนหลักของ MCTham ถูกทำลายแต่ทุกอย่างกำลังเดินต่อไป...
|
||||
|
||||
แต่ตอนนั้นที่ไม่ค่อยรู้เรื่องหนูก็อยู่สองฝั่งแต่ตอนนั้นหนูสารภาพว่าอยู่ฝั่งของพี่ [Kanison Konkla](https://github.com/kanisonpoon) มากกว่าเนื่องจากว่าปัญหาในตอนนั้นมันไม่ค่อยมีเหตุมีผลในการเตะเข้าไปเท่าไหร่ (แล้วก็เซิฟที่ทำมานั้นมันไม่ได้เป็นแบบ Pay to win เหมือนเซิฟไทยส่วนมากซะหน่อย)
|
||||
|
||||
อย่างไรก็ตามหลังจากนั้น MCTham มีปัญหาเรื่อง downtime เนื่องจากไม่สามารถจัดหาเซิฟเวอร์ได้ และสุดท้ายก็หายไปในที่สุดเซิฟก็เงียบหายไปเลย... (และความผิดมันก็เป็นของหนูเองแหละ)
|
||||
|
||||
รู้หรือไม่ว่า: หนูเคยจดทะเบียน mctham.net มาก่อนแต่ถูก suspended และหลงลืมไปตามกาลเวลา...
|
||||
|
||||

|
||||
|
||||
### MCTham Rewritten Project (โครงการที่ถูกลืม)
|
||||
ในช่วงปลายปี 2564 หลังจากที่พี่ [Kanison Konkla](https://github.com/kanisonpoon) ถูกเตะออก หนูก็ได้คุยกับพี่เขาและเริ่มสร้าง Project ใหม่ที่ชื่อว่า "MCTham Rewritten" และเขาก็ตอบตกลง แล้วตอนนั้นมีคนมาร่วมด้วยอย่าง [aitji](https://github.com/aitji) แต่เป็นเรื่องที่เศร้าเพราะว่าเนื่องจากการที่โดน DMCA และดราม่าทั้งหลายทำให้ไม่ได้มีเวลามากเพียงพอและสุดท้ายก็ถูกลืม...
|
||||
|
||||
อย่างไรก็ตามถ้าคุณสงสัยว่าเรื่อง DMCA เป็นเรื่องจริงหรือเปล่าหนูขอให้[สิ่งนี้เป็นคำตอบ](https://github.com/github/dmca/blob/master/2022/04/2022-04-04-hive.md)และใช่พี่เขาไปเอาเนื้อหาจากเซิฟ The Hive ไปอัปโหลดแล้วก็โดนเล่น
|
||||
|
||||
### MCTham กลับมาอีกแล้วหรอ??? (2567)
|
||||
|
||||
สักวันหนึ่งในช่วงปี 2567 ที่หนูกำลังคุยกับเพื่อนของหนูอย่าง [Piyadon Chaengchenjai](https://github.com/HariUwU) [Warathep Panthongkham](https://github.com/UnitieG), [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) [Pakrn c.](https://github.com/bluestar-b) และพูดถึงเรื่อง MCTham และประวัติบางอย่างเพราะว่า
|
||||
|
||||
- [Piyadon Chaengchenjai](https://github.com/HariUwU) เป็นอดีตทีมงาน MCTham
|
||||
- [Pakrn c.](https://github.com/bluestar-b) เป็นผู้เล่น MCTham ในอดีตที่รู้ในการเขียนโค้ด
|
||||
|
||||
และพวกเขาสองคนก็ตกลงในการเอา MCTham กู้ชีพมาอีกครั้ง เหมือนเป็นเรื่องที่ดีใช่ไหม?
|
||||
|
||||
อย่างไรก็ตาม [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) ช่วยจัดการเรื่อง domain (เพราะว่าเขาซื้อ mctham.fun กลับมาคืนนี่คือสาเหตุ)
|
||||
|
||||
รู้หรือไม่ว่า: MCTham เกือบจะได้มี MCTham Earth แต่เนื่องจากว่าทรัพยากรไม่เพียงพอในตอนนั้นทำให้ไม่สามารถไปต่อได้ (ไฟล์โลกประมาณ 100GB+) และสุดท้ายเขาก็ล้มเลิก หลังจากที่คุยกับคนในทีมและพี่ MinaseYu
|
||||
|
||||
นี่คือแผนของทีมงานในช่วงแรก
|
||||
- [Phapoom Saksri](https://github.com/blueskychan-dev) (เราเอง) - หัวหน้าโครงการ (เหมือนกับปีก่อนๆ)
|
||||
- [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) - Domain/DNS Management
|
||||
- [Piyadon Chaengchenjai](https://github.com/HariUwU), [Pakrn c.](https://github.com/bluestar-b), [Kanison Konkla](https://github.com/kanisonpoon) ดูแล SMP
|
||||
- [Phapoom Saksri](https://github.com/blueskychan-dev) (เราเอง), [Warathep Panthongkham](https://github.com/UnitieG)ดูแลเรื่อง Lobby/Minigames
|
||||
|
||||
ดูเหมือนว่ากำลังไปด้วยดีใช่ไหม...
|
||||
|
||||
ในตอนแรกนั้น MCTham ถูกสปอยในดิสของ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster)
|
||||
|
||||

|
||||
|
||||
คุณรู้หรือไม่ว่าตอนแรก MCTham ได้ใช้ทีมงานเดียวกับ [notmycode](https://notmycode.dev)
|
||||
|
||||
และ MCTham(SMP) ได้กลับมาอีกครั้งในวันที่ 27 ตุลาคม 2567 ด้วยสิ่งที่แปลกใหม่ในบางอย่างอย่างเช่น
|
||||
- เซิฟฐานอยู่ใน Java [PurpurMC](https://purpurmc.org)
|
||||
- Bedrock และ Java สามารถเล่นกันได้ (แต่ Java ต้องเป็นไอดีแท้เท่านั้น)
|
||||
|
||||
ไม่ได้มีอะไรมากมีแค่นี้
|
||||
|
||||
และตอนแรกทุกอย่างกำลังไปได้ดีถ้าเราดู[สตรีมนี้](https://www.youtube.com/watch?v=efI_l1i9keE)
|
||||
|
||||
ดูเหมือนว่าทุกคนกำลังมีความสุขกลับมานิดนึงใช่ไหม... แล้วทำไมมันมีอะไรที่ทำให้มันพังล่ะ?
|
||||
|
||||
### ปัญหาความปลอดภัย(โดยประมาท) สู้ดราม่า
|
||||
เมื่อวันที่ 2 พฤศจิกายน 2567, [Warathep Panthongkham](https://github.com/UnitieG)ได้ทำการเข้าเครื่องเซิฟ MCTham SMP โดยไม่ตั้งใจเพราะว่าตอนนั้นพี่ [Piyadon Chaengchenjai](https://github.com/HariUwU) ได้ทำช่องโหว่ความปลอดภัยหลายอย่าง นี่คือสาเหตุว่าทำไม
|
||||
|
||||
- ชื่อผู้ใช้ 4 หลัก "idum" ที่หมายถึง "ไอ้ดำ" ในภาษาไทย (และมันแกะง่ายมากเพราะว่าพี่เขาพูดโคตรบ่อย)
|
||||
- ไม่มีรหัสผ่าน
|
||||
- ไม่มี SRV Record หรือ proxy คุณสามารถเข้าเครื่องเซิฟ ฝโดยตรงได้ผ่าน smp.mctham.fun
|
||||
|
||||
และหลังจากที่เธอชได้ทำการรีโมทเข้าเครื่องไปแล้วนั้น เธอแค่อยากทำให้ MCTham ดีขึ้นด้วยการลง CoreProtect และpluginsที่ช่วยทำให้ระบบมันดีขึ้น แล้วก็อย่าลืมนะว่าตอนนั้นเธอยังเป็นทีมงานใน MCTham อยู่แค่คนละภาคส่วนเฉยๆ
|
||||
|
||||
แต่อย่างไรก็ตามหลังจากที่ [Piyadon Chaengchenjai](https://github.com/HariUwU) และ[Pakrn c.](https://github.com/bluestar-b) เขาได้ตกลงในการแบนและทำลายบ้านทุกหลังที่สร้างโดย [Warathep Panthongkham](https://github.com/UnitieG)และตรวจสอบผู้เล่นใหม่และทำการแบนเธอออกจากดิส [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) ด้วยการโหวตและขู่ด้วยพรบ. คอม แล้วก็เตะเธอออกจากทีมงาน MCTham
|
||||
|
||||
นี่คือสาเหตุว่าทำไมเธอถึงโดนหนักขนาดนี้
|
||||
- 1. ดราม่า
|
||||
- 2. เธอใช้โปรแกรมช่วยเล่น (สมเหตุสมผล)
|
||||
> มันอาจจะแปลกนิดนึงเพราะว่าเธอนั้นไม่ได้ทำอะไรแย่เลยและคนที่แฮกนั้นก็เป็นคนในทีมมันเองแค่ต่างภาคส่วนแต่ก็ตามนั้น... (ในความคิดเราก็คือทำไมแค่ไม่เตือนแล้วก็ทำให้ระบบความปลอดภัยมันดีขึ้นวะ)
|
||||
|
||||
อย่างไรก็ตามดราม่านี้ถูกจบลงหลังจากที่ [Pakrn c.](https://github.com/bluestar-b) และ [Warathep Panthongkham](https://github.com/UnitieG)คุยกันในกลุ่ม telegram และดูเหมือนจะไปได้สวยแล้วทำให้ทุกอย่างจบลง
|
||||
|
||||
เหมือนจะเป็น good ending ใช่ไหม ไม่
|
||||
|
||||
### ขาลง MCTham 2567
|
||||
สิ่งนี้อาจจะต่อเนื่องมาจากขาดลงของครั้งที่แล้วแต่อ่านไปเรื่อยๆจะรู้เอง
|
||||
|
||||
เมื่อวันที่ 11 พฤศจิกายน 2567 เราได้ทำการย้าย MCTham ไปใช้เครื่องของ [Microsoft Azure](https://azure.com) ชั่วคราวเนื่องจากปัญหาทางฮาร์ดแวร์ที่เกิดขึ้นหลายครั้งจากเครื่องที่ใช้อยู่(ที่จัดสรรโดย [Piyadon Chaengchenjai](https://github.com/HariUwU)) เนื่องจากเครื่องในเป็นเครื่องเก่าของเขา (HP Pavilion 15-ex0xxx AMD Ryzen 5 3550H แต่พัดลมใช้ได้แค่ 1/2 เท่านั้น) ทำให้เกิดปัญหาเรื่องความร้อนทำให้เซิฟไม่เสถียร (ความร้อนประมาณ 115-135°C) และ windows เริ่มจะทำลาย process ทิ้งเพื่อช่วยให้ CPU ขับเคลื่อนต่อไปได้ และเราได้ทำการเตือนเขาแล้วแต่อย่างไรก็ตามการกระทำที่เราทำไปทำให้เป็นสิ่งเล็กๆที่ทำให้เขาเริ่มโกรธแต่ไม่มาก(เขาต้องการความเป็น Physical มากที่สุดโดยไม่สนสิ่งที่เกิดขึ้น) แต่เราพูดต่อเลยดีกว่า
|
||||
หลังจากที่ [Pakrn c.](https://github.com/bluestar-b) ทำผลโหวตในการเอา LuckPerms กลับมาในกลุ่มส่วนตัวของ MCTham และนี่คือผลลัพธ์
|
||||
|
||||
- ใช่ 60%
|
||||
- ไม่ 40%
|
||||
|
||||

|
||||
|
||||
และหลังจากที่ [Pakrn c.](https://github.com/bluestar-b) เอา LuckPerms กลับมาเพื่อความยุติธรรมและกระจายของทีมงานเหมือนจะเป็นเรื่องที่ดีแต่มีใครบางคนที่ไม่โอเคกับเรื่องนี้... [Piyadon Chaengchenjai](https://github.com/HariUwU) กับ [Kanison Konkla](https://github.com/kanisonpoon)
|
||||
|
||||
แต่ทำไมล่ะ?
|
||||
|
||||
- 1. เขาไม่วางใจ [Pakrn c.](https://github.com/bluestar-b) ด้วยบางสาเหตุ (ใช้คำสั่งโกงแหละมั้ง)
|
||||
- 2. เขากลัวมีปัญหากับpluginsตัวอื่น (ยังไง)
|
||||
- 3. ต้องการความ Vanila
|
||||
|
||||
หลังจากอัพเดทนี้ [Piyadon Chaengchenjai](https://github.com/HariUwU) เขาค่อนข้างจะโกรธแล้วตัดสินใจออกจากกลุ่มแต่ของที่เขาจะออก...
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
|
||||
> คือเราจะหมายถึงว่าเขาพูดเหมือนไม่ใช่คนทั่วไปอ่ะ ไม่รู้หรือเปล่าว่ามันรู้สึกเบียวแต่ว่ามันรู้สึกแบบนั้นอ่ะ
|
||||
|
||||
และหลังจากที่เขาออกจากกลุ่มเราก็ตัดสินใจดูแล MCTham ต่อไปแต่บางครั้งตัว proxy มีปัญหาและดูเหมือนว่า [Piyadon Chaengchenjai](https://github.com/HariUwU) จะหัวเราะกับสิ่งนี้อย่างไรก็ตามเราได้แก้ปัญหาภายใน 10 นาที
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
...Sancho มาไหนวะแต่มันไม่ over ว่ะ
|
||||
|
||||

|
||||
|
||||
> ขอให้แชทนี้อธิบายดีกว่า
|
||||
|
||||
อย่างแรกเลยพี่เขาต้องการความ "Vanilla" มากเกินไป (รู้หรือไม่ว่าก่อนหน้านี้เขาอยากยึด MCTham มาเพื่อให้มีความ Vanilla มากขึ้นอาจจะเป็นสาเหตุหนึ่งของการล่มสลายในครั้งที่แล้ว) (และก็ MCTham ไม่มีความ Vanilla เหลืออยู่แล้วเพราะว่าเซิฟนั้นใช้ "[velocity](https://papermc.io/software/velocity)" และ "[PurpurMC](https://purpurmc.org)") และอีกอย่าง ตัวเขาเองและ [Kanison Konkla](https://github.com/kanisonpoon) เชื่อว่าเขามีเวลาว่างมากพอที่จะดูแลเซิฟนี้ได้โดยไม่ใช้ LuckPerms หรือ OP ภายในเกม แต่มีจุดนึงที่ค่อนข้างจะกังวล
|
||||
|
||||
- [Piyadon Chaengchenjai](https://github.com/HariUwU) ต้องฝึกงานในอีกไม่กี่เดือนแถมต้องเป็นกรรมการนักเรียนในปีหน้าอีก
|
||||
- [Kanison Konkla](https://github.com/kanisonpoon) ต้องเข้ามหาลัยในเร็วๆนี้และใช่เขาต้องทำ portfolio และหลายอย่างเลย
|
||||
|
||||
แต่ในตอนแรกนั้นเราปฏิเสธเขาแต่เขาอยากได้เซิฟนี้กลับมามากแต่หลังจากที่พูดคุยกันนิดนึงถ้าสมมุติว่าเรายอมให้เขาดูแลต่อโลกจะถูกย้อน/ล้างทิ้งเพราะว่าเขากล่าวหาว่าเราหยุด MCTham ตั้งแต่ย้ายเซิร์ฟไปแล้ว...
|
||||
|
||||

|
||||
|
||||
และเขาก็เพิ่มเราเข้าไปในกลุ่มส่วนตัวแล้วบ่นเรื่องที่โดนเผาบ้านแล้วก็ [Pakrn c.](https://github.com/bluestar-b) ใช้คำสั่งโกงให้ตัวเองและอื่นๆแต่เนื่องจากข้อมูลบางข้อมูลไม่มีประโยชน์ทำให้ขอตัดออกจากการใส่ไปไหน blog นี้ เราจะโชว์ข้อมูลแค่ที่มาส่งผลต่อผู้เล่นทุกคนเท่านั้น
|
||||
|
||||
หลังจากที่เขาพูดถึงเรื่อง "your data is not right" และยืนยันว่าจะล้างโลกหรือย้อนโลกกลับไปและเราก็ถามเรื่อง "ความรับผิดชอบ" ว่าพี่เขาจะรับผิดชอบกับไอเทมที่หายไปหรือสิ่งก่อสร้างที่หายไปอย่างไร
|
||||
|
||||

|
||||

|
||||
|
||||
> จำไว้ว่า "destroy by gamemode" หมายถึงบ้านของพี่เขาโดนทำลายโดยใช้ gamemode creative
|
||||
|
||||
เพื่อความเป็นธรรมของทุกคนรวมถึงพี่เขาถ้าใครอยากดูข้อความเต็มสามารถดูได้[ที่นี่](/mctham-archive/spicy.zip)
|
||||
|
||||
และวันต่อมาเขาพูดแบบนี้...
|
||||
|
||||

|
||||
|
||||
หลังจากที่พูดกันในห้องคุยแล้วเขาบอกว่า "ไม่มีใครเป็นเจ้าของ MCTham ทั้งสิ้น" แต่อย่างไรก็ตามไม่เป็นเรื่องที่น่าแปลกใจเพราะว่าไม่มีใครพูดถึงเรื่องนี้เลยเพราะว่า
|
||||
|
||||
- 1. MCTham ยังใช้ชื่อภายใต้ mctham.fun อยู่
|
||||
- 2. พี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) ยังอนุมัติให้ใช้ชื่อนี้อยู่
|
||||
|
||||
เราจําอะไรค่อนข้างเยอะไม่ได้แต่หลังจากที่คุยกันในห้องคุยเราตัดสินใจเช็คเครื่อง HP เขาอีกรอบนึงเพราะว่าเขาอ้างว่าได้แก้พัดลมกับพี่ [Kanison Konkla](https://github.com/kanisonpoon) แล้วโดยวิธีที่มันแปลกๆ
|
||||
|
||||
อย่างไรก็ตามหลังจากที่[ทดสอบ](https://browser.geekbench.com/v6/cpu/8912168) แล้วก็ตัดสินใจให้เขากลับมาเปิดได้แต่รออัพเดทจากฝั่งเราอีกที
|
||||
|
||||
ไม่กี่วันผ่านไปหลังจากที่คุยกับ [Pakrn c.](https://github.com/bluestar-b) แล้วก็ [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) เราตัดสิ่งใจในการทำ agreement แต่ไม่รู้เหมือนมันจะไม่มีความยุติธรรมเท่าไหร่ แต่ข้อสัญญาอันนี้เพื่อให้พี่ [Piyadon Chaengchenjai](https://github.com/HariUwU) สามารถดูแล MCTham ได้แต่มีบางอย่างที่ไม่มีใครคาดฝันเกิดขึ้น...
|
||||
|
||||

|
||||
|
||||
อย่างไรก็ตามเขาจะไม่ช่วยเราในการเข้าสาขา IT ถ้าสมมุติเราไม่แก้ไข agreement
|
||||
|
||||
> ขออธิบายไว้ว่าเราได้ตัดสินใจในการเข้าสายอาชีพโรงเรียนเดียวกับพี่เขาแต่มีปัญหาในการย้ายสาขาจาก DBT ไป IT ทำให้ต้องการความช่วยเหลือจากพี่เขาแต่หลังจากที่เห็นดราม่ากับอะไรอื่นๆแล้วรู้สึกว่าเดินผิดทางชิบหายเลย...
|
||||
|
||||
อย่างไรก็ตามหลังจากที่เขาพูดแบบนี้แล้วเราไม่อยากมีดราม่าเพิ่มเติมกับเขาเราก็เลยเอาหัวและให้เขาดูแลทั้งหมดเลย
|
||||
|
||||
> เพิ่มเติมการเอาหัวให้เขาหมายความว่าให้เขาสามารถดูแลได้ทุกอย่างเลยจะเพิ่มใครจะเอาใครออกก็เรื่องของเขาและเราจะไม่ช่วยหรือแคร์เรื่องถ้าสมมุติว่าเซิร์ฟเวอร์มีปัญหาอะไรทั้งสิ้นเพราะเขาบอกว่าเขาสองคนนั้นสามารถดูแลกันได้แต่ใครรู้?
|
||||
|
||||
และตอนแรกเขาสัญญาว่าจะดูแลความเสียหายทั้งหมดแต่มาดูว่าเกิดอะไรขึ้นต่อจากนี้
|
||||
|
||||
1. เขาได้ล้างโลกทุกอย่างทิ้งเนื่องจากเขาอ้างว่าเซิฟถูกค้างมานานแล้ว (เป็นเพราะว่าโดนเผาบ้านแค่นั้นแค่คนเดียวหมายถึงบ้านพี่เขา)
|
||||
|
||||
> อย่างไรก็ตามเขาไม่ได้รับผิดชอบในที่เขากล่าวไว้เพราะว่าเขาไม่สามารถ op ตัวเองได้หรือใช้คำสั่งโกงในการช่วยเหลือบรรเทาผู้เล่นคนอื่นได้แล้วก็อาจจะเป็นเพราะว่าไม่มีใครไปรายงานด้วยและเขาก็ไม่ได้พูดถึงเรื่องนี้ในดิสคอร์ดหลักด้วย ([ThamTVMaster](https://www.youtube.com/@ThamTvMaster))
|
||||
|
||||
แล้วก็เราลืมบอกว่าหลังจากที่เขาออกจากกลุ่มคุยแล้วเราได้ทำการพูดคุยเรื่อง luckperms และอื่นๆและเชิญเขาเข้าห้องคุย stages ในดิส [notmycode](https://notmycode.dev) แต่เขาตัดสินใจที่จะไม่ให้โดยข้อมูลละเอียดแล้วก็เงียบไปแล้วก็ลากให้ [Kanison Konkla](https://github.com/kanisonpoon) มาพูดแทนแต่อย่างไรก็ตามเขาสองคนก็เงียบแล้วก็ [Kanison Konkla](https://github.com/kanisonpoon) ก็อ้างว่ามีปัญหาทางเทคนิคไม่สามารถพูดได้ แต่มันก็โอเค...
|
||||
|
||||
แต่อย่างไรก็ตามดูเหมือนว่าพี่ [Piyadon Chaengchenjai](https://github.com/HariUwU) ไม่ค่อยชอบพูดใน stages เท่าไหร่แต่ไม่เป็นไร อย่างไรก็ตามถ้าใครอยากรู้ว่าเป็นไงสามารถกด[ดูวีดีโอได้](https://youtu.be/icioXuyVwKY?si=s1yZiuImYX9z1Sx-)
|
||||
และดูเหมือนมันไม่ค่อยโอเคเท่าไหร่วะ...
|
||||
|
||||
### [Piyadon Chaengchenjai](https://github.com/HariUwU) และ [Kanison Konkla](https://github.com/kanisonpoon) ถูกรังเกียจโดยทีม "[notmycode](https://notmycode.dev)"
|
||||
|
||||
หลังจากที่ MCTham อยู่ภายใต้ของ [Piyadon Chaengchenjai](https://github.com/HariUwU) และ [Kanison Konkla](https://github.com/kanisonpoon) แล้วมันดูเหมือนจะน่าเจ็บใจโดยไม่น้อยเพราะว่าเขาจะไม่เพิ่ม plugins แบบ ตัดไม้ 1 ทีหายไปทั้งต้นหรือ /sethome พวกเขาสะดวกของผู้เล่นแต่หลังจากที่เราไปถามในแชทแล้วเขาก็พูดแต่... "กูไม่แคร์ตัดไม้มันโคตรง่ายอยู่แล้ว" "ปัญหาด้านความสามารถ" อะไรแบบนี้
|
||||
|
||||
แต่เราถามเขาว่าแล้วทำไมสัญญาแล้วว่า MCTham ทุกซีซั่นจะมีความแปลกใหม่แต่ทำไมถึงไม่เอาสิ่งนี้มาล่ะเขาก็พูดว่า
|
||||
> Bedrock และ Java เล่นกันได้นี่คือ "ความแปลกใหม่"
|
||||
|
||||
อย่างไรก็ตามเป็นเรื่องที่น่าเสียดายที่เราได้เสียรูปที่เขาพูดถึงสิ่งนี้แต่ถ้ามีรูปอะไรก็เดี๋ยวค่อยมาอัพเดททีหลังกัน...
|
||||
|
||||
คุณรู้หรือไม่ว่าสองคนนี้ไม่ได้แคร์คำสรรพนามอะไรเลยจะขอไปพูดเยอะเพราะว่าเดี๋ยวมันจะเข้าข่าย woke มากไปแต่ก็เนาะ...
|
||||
|
||||
ก่อนหน้านี้ [Warathep Panthongkham](https://github.com/UnitieG)ได้บ่นปัญหาเรื่องปัญหาของเซิฟว่าหน่วงอะไรแบบนี้แล้วก็..
|
||||
|
||||

|
||||
|
||||
> เราดูมันเหมือนจะอีโก้สูงไปหน่อยอ่ะ
|
||||
|
||||
แล้วก็ [Warathep Panthongkham](https://github.com/UnitieG)โดนแบนเพราะจับได้ว่าใช้โปรแกรมช่วยเล่น แต่คำพูดมันดูเหมือนแบบ
|
||||
|
||||

|
||||
|
||||
> เขาไม่พูดมากแล้วกันดูด้วยตาตัวเองแล้วกัน
|
||||
|
||||
แล้วพี่ [Piyadon Chaengchenjai](https://github.com/HariUwU) ล่ะ?
|
||||
|
||||

|
||||
|
||||
> โดนเตะออกจาก [notmycode](https://notmycode.dev)
|
||||
|
||||
หลังจากที่รวมมัดเหมาทุกอย่างถูกดราม่าแล้วดูเหมือนว่ามันมีความเหยียดมาด้วยแต่ไม่รู้ว่ะ
|
||||
|
||||
อย่างไรก็ตามหลังจากทุกอย่างที่เกิดขึ้น... เรา [Pakrn c.](https://github.com/bluestar-b) [Warathep Panthongkham](https://github.com/UnitieG)และ [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) ตัดสินใจสร้างเซิฟมายคราฟใหม่เพื่อมาต่อสู้กับ MCTham
|
||||
|
||||
### จากดราม่าสู่เซิฟมายคราฟใหม่... "Deeka MC"
|
||||
หลังจากที่ [Pakrn c.](https://github.com/bluestar-b) หมดหวังกับ [Piyadon Chaengchenjai](https://github.com/HariUwU) เราได้ตัดสินใจเชิญ [Warathep Panthongkham](https://github.com/UnitieG)มาในโครงการใหม่ของเราหลังจากคุยกันและความสามารถที่เธอมี
|
||||
|
||||
อย่างไรก็ตามทำไมต้องชื่อว่า "Deeka MC"
|
||||
- 1. Domain เหลือใช้เพราะว่าแทบไม่ได้ใช้เลยใช้แต่ URL Shortener ก็เลยเอาอันนี้มาใช้
|
||||
- 2. Deeka หมายถึง "ดีค่ะ" ในภาษาไทย มันก็เหมือนคำว่าสวัสดีแต่ว่าออกดูหญิงกว่า...
|
||||
|
||||
เราขอยอมรับว่า "Deeka MC" ใช้ฐานเกี่ยวกับ MCTham ก่อนที่พี่ [Piyadon Chaengchenjai](https://github.com/HariUwU) จะมายึดไปแต่อย่างไรก็ตาม "กูไม่แคร์แล้วกูจะทำให้มันดีกว่าเดิม"
|
||||
|
||||
ในการทำสิ่งนี้เราทำให้เซิร์ฟนี้มีสิ่งที่ MCTham ไม่มีตัวอย่างเช่น
|
||||
|
||||
- 1. แอดมินหรือทีมงานที่เป็นมิตร
|
||||
- 2. ความแปลกใหม่ที่ต่างจากการเอาชีวิตรอดดั้งเดิมตัวอย่างก็เส้นการ Generate โลกและไบโอม
|
||||
- 3. ระบบป้องกันเผาบ้านหรือเผาเซิร์ฟและระบบการจัดการที่ดีกว่า MCTham
|
||||
|
||||
อย่างไรก็ตามนี่คือรูปภาพจากเซิฟ Deeka MC ถ้าคุณอยากเห็นอ่ะนะ
|
||||
|
||||

|
||||
> Deeka Lobby
|
||||
|
||||

|
||||
> Deeka SMP
|
||||
|
||||
ในตอนนี้ DeekaMC มี Knockback FFA และ SMP และ lobby ที่สวยงามที่สร้างโดย [Pakrn c.](https://github.com/bluestar-b) แล้วก็เรามีแผนที่จะโปรโมตเซิฟนี้ใน facebook และ platform อื่นๆอย่างไรก็ตามเราได้ให้พี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) มาลองเล่นเซิฟเราแล้วใน [live stream](https://www.youtube.com/watch?v=11ApSf55hXE) นี้
|
||||
|
||||
อ้อแล้วก็เราลืมบอกว่าแต่ละคนทำอะไรบ้างด้วยมาดูกันเลย
|
||||
|
||||
- [Phapoom Saksri](https://github.com/blueskychan-dev) (เราเอง) - หัวหน้าโครงการ/ดูแลระบบ Networking และการจ้ดหาเซิร์ฟเวอร์
|
||||
- [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) - แอดมิน
|
||||
- [Pakrn c.](https://github.com/bluestar-b) - Builder/Admin/Developer
|
||||
- [Warathep Panthongkham](https://github.com/UnitieG)- ผู้พัฒนา/ดูแล Minigames
|
||||
|
||||
ดูเหมือนจะดีเราหวังว่า "DeekaMC" ต้องมีอนาคตที่ดี <3
|
||||
|
||||
อย่างไรก็ตามถ้าคุณคิดว่าหลังจากการแตกตัวแล้วและคิดว่าจะไม่มีคนในทีม MCTham มาตำหนิใช่ไหม? นิดหน่อย...
|
||||
|
||||
### Java และ Bedrock PVP มันไม่เท่าเทียมกันเว้ย (ใครบางคนพูด)
|
||||
|
||||
ระหว่างที่พี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) กำลังไลฟ์สตรีมเซิฟเราอยู่นั้น [Kanison Konkla](https://github.com/kanisonpoon) ข้อความส่วนตัวมาหาเราว่ามันไม่ค่อยเท่าเทียม
|
||||
|
||||

|
||||
|
||||
อย่างไรก็ตาม geyser ตัวที่จัดการ bedrock ได้แก้ไขปัญหานี้ไปตั้งนานแล้วรวมถึงว่าเราได้ทำการทดสอบเพราะว่าคนในทีมเราเล่น bedrock ด้วยแล้วก็อะไรด้วยแล้วหลังจากที่พี่ [ThamTVMaster](https://www.youtube.com/@ThamTvMaster) ก็ฆ่าได้หลายคนเลย
|
||||
|
||||
อย่างไรก็ตามหัวข้อนี้ก็เป็นดราม่าแค่แป๊บเดียวแล้วก็ถูกเงียบไป...
|
||||
|
||||
อย่างไรก็ตามเราได้ทำการทดสอบนับไม่ถ้วนเกี่ยวกับสิ่งนี้แล้วแล้วเราไม่เจอปัญหาเกี่ยวกับ Knockback ใน Geyser มันทำงานได้เหมือนกับใน Java เลย
|
||||
|
||||
เราก็เราได้ทำการลบ combat cooldown ออกฝั่ง Java ด้วยเพื่อความเท่าเทียมมากที่สุด
|
||||

|
||||
|
||||
### สรุปคร่าวๆ
|
||||
> [Piyadon Chaengchenjai](https://github.com/HariUwU) และ [Kanison Konkla](https://github.com/kanisonpoon) เป็นเจ้าของ MCTham ในตอนนี้แล้วเราก็ไม่รู้ว่าจะไปทิศทางไหน
|
||||
|
||||
> DeekaMC เกิดมาเพื่อสู้กับ MCTham
|
||||
|
||||
เราหวังว่าเรื่องนี้มันจะไปได้สวยแล้วก็ถ้ามีอัพเดทอะไรก็เดี๋ยวจะมาอัพเดทตลอดจ้าา <3 แล้วก็ดราม่าเรื่องนี้จำไม่มีวันจบ...
|
||||
|
||||
อัพเดทล่าสุด 8 ธันวาคม 2567
|
|
@ -1,325 +0,0 @@
|
|||
---
|
||||
title: "MCTham more like MCCooked, let me explain"
|
||||
desc: MCTham with endless drama....
|
||||
date: "12-08-2024"
|
||||
tags:
|
||||
- drama
|
||||
- minecraft server
|
||||
---
|
||||
|
||||
> This article is also supported by another language: [Thai](/post/mccooked-th)
|
||||
|
||||
MCTham is the server that i made with my heart but now... something going wrong.... I want to explain but i may cooked but who care?
|
||||
|
||||
## What is MCTham?
|
||||
MCTham is a "Minecraft Server" founded in 2021 by [Phapoom Saksri](https://github.com/blueskychan-dev) and [Kanison Konkla](https://github.com/kanisonpoon) at the time MCTham was planned to be a thai minigames/smp server based on pocketmine and partner with a youtuber [ThamTVMaster](https://www.youtube.com/@ThamTvMaster), MCTham was doing very good when we release. here is few screenshots and picture from 2021:
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
> Thanks picture from [ThamTVMaster discord](https://discord.gg/urRKa7S) <3
|
||||
|
||||
This is the [First Ever Live Stream](https://www.youtube.com/watch?v=DHFFlpws4Ww) on MCTham, surprise is that server has been known in ThamTvMaster birthday.
|
||||
|
||||
MCTham was really successful and popular during SS.[1](https://www.youtube.com/watch?v=URXqntLwEPI) and SS.[2](https://www.youtube.com/watch?v=jYe8J3ML3kI)
|
||||
|
||||

|
||||
> MCTham Player hunter event in SS2
|
||||
|
||||
### MCTham History (Lore)
|
||||
At first, MCTham was created and founded by [Phapoom Saksri](https://github.com/blueskychan-dev) and [Kanison Konkla](https://github.com/kanisonpoon) because at the time, I'm only 10-11 years old. I found him making an addon for minecraft in voice chat or somewhere, and i tested the addon and it was fun to play with, So I decide to ask him if he want to work on a minecraft server project together and he said "ok"
|
||||
|
||||
At the time, MinaseYu is ThamTvMaster Big head (in that time), So we talked with him for awhile, I asked if he can help me make a lobby for MCTham. after a few talks and he agreed, at first he don't trust that MCTham would be popular but whatever, we just created it anyways.
|
||||
|
||||
After that, I and Kanison Konkla talk with ThamTvMaster in Private Message about this new minecraft server and after he agreed, we used the name "MCTham" because MC mean minecraft and Tham mean nickname of ThamTvMaster
|
||||
|
||||
Fun fact: MCTham have so many problem with the lobby because of pocketmine 3, at the time pocketmine 4 didn't release yet and still in development with a lot of "bugs" but somehow we made the lobby away... (with a lot of unsupported features for building)
|
||||
|
||||
I managed the server and Kanison Konkla manage almost everything else since i don't know about computer or php (i don't have access to computer and php knowledge at the time)
|
||||
|
||||
However, the server doing great and few players (from ThamTvMaster) and its getting popular from people playing and the first successful gamemode is "SMP" (SS1/2)
|
||||
|
||||
I don't remember much, But If I remember correctly. MinaseYu was asking his friends if he wanted to be an admin in ThamTVMaster Discord Server and MCTham he said yes and this is where the story get started (SANCHO ARC 0)
|
||||
|
||||
MinaseYu introoduce his friend "[Piyadon Chaengchenjai](https://github.com/HariUwU)" (Known as Cgggwtruck, The Fron Tv Minecraft, HariUwU or OmagariHare) and everyone (including ThamTVMaster) starting to knowing him after he did some parkour challenge and getting rewards and somehow he being an admin of mctham at the time, I don't know much because I have dementia.
|
||||
|
||||
Looks like everything going great, new team, new members and more?.... uhhhhh
|
||||
|
||||
### First MCTham downfall (2022)
|
||||
I didn't think it will happen so quickly but let me explain.
|
||||
Kanison Konkla at the time is well a "kind" person, he's giving items to players but someone doesn't like this and they said something need to be change...
|
||||
|
||||
[Piyadon Chaengchenjai](https://github.com/HariUwU) with his team doing some unexpected changes, because all admin can access the server if they requested it, they decide to change the password and takeover MCTham from Kanison Konkla and I, and they do anything they want on their own.
|
||||
|
||||
And due to many drama, It's affecting Kanison Konkla like DMCA and etc, He's getting more hated from the team (This would be too long so I'm not explaining it here.)
|
||||
|
||||
But because at the time, Our team can't code PHP for MCTham mini games, MCTham mini games has been cancelled and few things have been removed, only SMP is available because our team can do TypeScript/JavaScript and bedrock addons require TS/JS to make it work, and well. Going pretty good... but not so well...
|
||||
|
||||
Looks like the main MCTham plan has been destroyed but everything still going,
|
||||
|
||||
But in that time, I'm in both of side but I like to agree much with Kanison Konkla because the problem cannot be an enough reason to kick him out (and this server IS NOT PAY TO WIN)
|
||||
|
||||
And after few session, MCTham getting problem about downtime (Yea, I can't founding more server) and finally, mctham doing a long shutdown and never back again... (it is all my fault....)
|
||||
|
||||
Fun Fact: We used to have a domain called "mctham.net" but I forgot about it for like 2 years lol
|
||||
|
||||

|
||||
|
||||
### MCTham Rewritten Project (Forgetten Project)
|
||||
Since 2021(Q3) after Kanison Konkla has been kicked, i talk him to make new project "MCTham Rewritten", and he agreed, His invite some of his friend like "[aitji](https://github.com/aitji)" but sadly, due to few drama in current McTham + DMCA drama, we didn't have time and finally, this project...died.
|
||||
|
||||
However, if you asking, the DMCA is real? [I think this things can tell you](https://github.com/github/dmca/blob/master/2022/04/2022-04-04-hive.md), yea Kanison Konkla dump the hive resource or map i forgot and upload to github and yea, dmca'd
|
||||
|
||||
### MCTham is back again??? (2024)
|
||||
Someday in 2024, I talking with my few friends like [Piyadon Chaengchenjai](https://github.com/HariUwU), [Warathep Panthongkham](https://github.com/UnitieG), [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham), [Pakrn c.](https://github.com/bluestar-b) and I talking about MCTham and few history because
|
||||
|
||||
- [Piyadon Chaengchenjai](https://github.com/HariUwU) is ex-mctham stuff (because mctham died)
|
||||
- [Pakrn c.](https://github.com/bluestar-b) MCTham Player that know how to code
|
||||
|
||||
and both of them agreed to make MCTham back to life again, sounds great alright?
|
||||
|
||||
However, [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) help to manage domain (he buy mctham.fun, that why)
|
||||
|
||||
- Did you know? MCTham almost have MCTham earth but due to current resource of MCTham is very slow and can't render a 100GB+ of world, We cancelled it... Nope [Piyadon Chaengchenjai](https://github.com/HariUwU) giving up after few talk with us and MinaseYu
|
||||
|
||||
First, this is my plan about MCTham on 2024
|
||||
- [Phapoom Saksri](https://github.com/blueskychan-dev) (Me) - Head of Project (like MCTham 2021 did)
|
||||
- [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) Domain/DNS Management
|
||||
- [Piyadon Chaengchenjai](https://github.com/HariUwU), [Pakrn c.](https://github.com/bluestar-b), [Kanison Konkla](https://github.com/kanisonpoon) SMP Management/Manager
|
||||
- [Phapoom Saksri](https://github.com/blueskychan-dev) (Me), [Warathep Panthongkham](https://github.com/UnitieG) Lobby/Minigames management/Manager
|
||||
|
||||
From this list, everything looks good, alright?...
|
||||
|
||||
In first, MCTham SMP has been spoiler in ThamTvMaster Discord
|
||||

|
||||
|
||||
- Did you know? MCTham in 2024 in first use same team with [notmycode!](https://notmycode.dev)
|
||||
|
||||
and MCTham (SMP) has back to life on 27 October 2024 with few features
|
||||
|
||||
- Minecraft Java (Purpur) based
|
||||
- Bedrock (Geyser) and Java support (Only premium account for java)
|
||||
|
||||
and not too much, only this.
|
||||
|
||||
In first, everything looks like okay... based on this [Live Stream](https://www.youtube.com/watch?v=efI_l1i9keE)
|
||||
|
||||
Looks like players kinda happy and back a little bit, when what wrong?
|
||||
|
||||
### From security issues to drama
|
||||
2 November 2024, [Warathep Panthongkham](https://github.com/UnitieG) "**accidentally**" hack to MCTham server because [Piyadon Chaengchenjai](https://github.com/HariUwU) doing few security risks, here is why
|
||||
|
||||
- 4 digits username "idum" mean "nig***" in thai language (and very easy to cracked because it is his "favourite" word)
|
||||
- No password
|
||||
- No SRV Record or Proxy, you can RDP Directly by using smp.mctham.fun
|
||||
|
||||
After she Remote desktop it, she just want to make MCTham better like installing CoreProtect and few anti-grief, do not forgot is that she is MCTham Team in that time (but not MCTham SMP team, only minigames)
|
||||
|
||||
But sadly, after [Piyadon Chaengchenjai](https://github.com/HariUwU) and [Pakrn c.](https://github.com/bluestar-b), they are rage and decide to banned and destroyed all house (it created by [Warathep Panthongkham](https://github.com/UnitieG)) and check new player carefully and banned her on ThamTvMaster by vote and few computer law, also kick her out from MCTham team...
|
||||
|
||||
Here is reason why they decide to destroyed all her house:
|
||||
- 1. Drama
|
||||
- 2. She used cheat mod (Yea, the main reason and i agreed with that)
|
||||
|
||||
> This kinda weird because she didn't do anything bad, in fact she in mctham team but not same zone but however, what i said.... (She should getting only waning and make security better but they care? no)
|
||||
|
||||
However, after this drama end after [Pakrn c.](https://github.com/bluestar-b) and [Warathep Panthongkham](https://github.com/UnitieG) talking together in telegram group chat and looks like funny talk and everything end.
|
||||
|
||||
This things kinda like good ending? No.
|
||||
|
||||
### MCTham downfall 2024
|
||||
This maybe linked to Previous downfall but let me explain...
|
||||
|
||||
11 November 2024 I moved MCTham to [Microsoft Azure](https://azure.com) Due to too many hardware failure and issues came from current server. (Current server used HP Pavilion Gaming Laptop 15-ec0xxx with AMD Ryzen 5 3550H with 1/2 fans working, i mean [Piyadon Chaengchenjai](https://github.com/HariUwU) old laptop and the laptop is like to overheating like 115-135ºC and windows kill process itself) and giving time to him to let his fix his laptop but... he starting to not okay but not too much but main issues is come...
|
||||
|
||||
[Pakrn c.](https://github.com/bluestar-b) doing poll in MCTham group chat with the topic "bring luckperms back" and here is result
|
||||
- Yes 60% 3 votes
|
||||
- No 40% 2 votes
|
||||
|
||||

|
||||
And [Pakrn c.](https://github.com/bluestar-b) brings luckperms back but someone is NOT OKAY with that... [Piyadon Chaengchenjai](https://github.com/HariUwU) and [Kanison Konkla](https://github.com/kanisonpoon)
|
||||
|
||||
But why? Because
|
||||
- 1. He don't trust [Pakrn c.](https://github.com/bluestar-b) for some reason (cheating/op i guess)
|
||||
- 2. He scared to have problems with other plugins (but how?)
|
||||
- 3. ***Vanila***
|
||||
|
||||
after this update, [Piyadon Chaengchenjai](https://github.com/HariUwU) like ~~communist~~ and uh decide to quit for a while but... before he quit...
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
> I mean, his talking not like normal "person", I don't know this is so cringe or not but i feel like that
|
||||
|
||||
And uh, we decide to manage MCTham with ourself but sometimes proxy server have issues and [Piyadon Chaengchenjai](https://github.com/HariUwU) doing a litte bit of laughing, but however we solved it in 10 mintues
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
|
||||
..Sancho arc is not over.
|
||||
|
||||

|
||||
> Let this chat explain...
|
||||
|
||||
First of all, he want "vanilla" too much... (Did you know? He want to takeover MCTham because he want to turned this to "vanilla" and that is one of reason of previous downfall) (But MCTham is no longer "vanilla" because "[velocity](https://papermc.io/software/velocity)" and "[purpurMC](https://purpurmc.org)")
|
||||
and Second, he trusted that him and [Kanison Konkla](https://github.com/kanisonpoon) have too much free time to manage server BUT
|
||||
|
||||
- [Piyadon Chaengchenjai](https://github.com/HariUwU) Need Train his jobs in few months and Student committee in the next year
|
||||
- [Kanison Konkla](https://github.com/kanisonpoon) will come to university soon and yea, portfilo and few more.
|
||||
|
||||
But we ignore him but uh, HE WANTS MCTHAM TOO MUCH and we few things happen like we can't transfeter to his server because WE PASUED MCTHAM?
|
||||
|
||||

|
||||
|
||||
And he add me to group chat and explaining like his house got nuked and [Pakrn c.](https://github.com/bluestar-b) using cheating command etc, but this will too long and not much useful, i will show only
|
||||
important infomation is it will afftced to all players
|
||||
|
||||
After he talking about "your data is not right" and will confirmed to reverse/reset world, i tell asked him about "responsibility" and here is answer:
|
||||
|
||||

|
||||

|
||||
|
||||
> Keep in mind: message "destroy by gamemode" his meaning house being nuked by using gamemode.
|
||||
|
||||
To be fair for everyone, I have full chat about house nuking, player data and etc in [here!](/mctham-archive/spicy.zip)
|
||||
|
||||
|
||||
a day later.... he said this.......
|
||||
|
||||

|
||||
|
||||
After few talk in voice chat, he said "no one own mctham" and uh, i don't know about no one tell current mctham is fake because
|
||||
|
||||
- 1. MCTham running under mctham.fun domain
|
||||
- 2. ThamTvMaster still agreed the status.
|
||||
|
||||
I can't remember too much but after few talks in voice chat, we decide to check his HP laptop again after he said "I already solved this (fan issues with unknown way)" with [Kanison Konkla](https://github.com/kanisonpoon)
|
||||
|
||||
However after few [benchmark](https://browser.geekbench.com/v6/cpu/8912168), i decide to let him manage but waiting update from my side.
|
||||
|
||||
Few days later...
|
||||
After few talks with [Pakrn c.](https://github.com/bluestar-b) and [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham), i decide to make agreement but it's kinda "unfair" but let [Piyadon Chaengchenjai](https://github.com/HariUwU) can own MCTham under agreement but something going wrong...
|
||||
|
||||
|
||||

|
||||
|
||||
However, if you see, HE will WON'T help me to apply IT if i still don't edited any "agreement"
|
||||
> Tiny explain: I'm decide to apply to same college with [Piyadon Chaengchenjai](https://github.com/HariUwU), however after this drama. I feel i walking wrong way... (I have problem to move from DBT to IT, that why i need his help)
|
||||
>
|
||||
However, I don't want to make **more** drama with him and i decide to giving mctham head project to him...
|
||||
|
||||
> Notice: Giving MCTham head project mean, his manage anything and I will won't give a fuck if project being downfall or anything fails because he said: [Piyadon Chaengchenjai](https://github.com/HariUwU) and [Kanison Konkla](https://github.com/kanisonpoon) can do it but who knows?
|
||||
|
||||
And at first, he promise that he will responsible for all damange but, let see this after MCTham back to his hand:
|
||||
- 1. He reset all worlds due to "freeze" status what they said and grief in his house (only his house and reset a whole world)
|
||||
> However, he didn't "responsible" with this damange because he can't op or use any cheat commands to help... also no anyone report and he didn't talk about this in annocument
|
||||
|
||||
Also i forgot to tell you but i need to back to this topic.
|
||||
After he quit from group chat for a while, we already do a talk about luckperms and etc in notmycode stages but he decide to **quiet** and let [Kanison Konkla](https://github.com/kanisonpoon) answer instead and both of them didn't answer it. (They answer a litte bit but not enough...) I talk them why you don't answer too much and look like [Kanison Konkla](https://github.com/kanisonpoon) have technical issues, well it's fine
|
||||
|
||||
Looks like Piyadon Chaengchenjai don't like to talk to stages but it's fine...
|
||||
However, [here is video of talking if you want (thai)](https://youtu.be/icioXuyVwKY?si=s1yZiuImYX9z1Sx-)
|
||||
|
||||
|
||||
And uh, everythings looks not okay...
|
||||
|
||||
### Piyadon Chaengchenjai and Kanison Konkla getting hate from "notmycode" team
|
||||
|
||||
First of all, MCTham after being control by Piyadon Chaengchenjai and Kanison Konkla kinda painful, i mean no any plugins to automaitic destroy all tree with 1 click or /sethome like previous before takeover, i talking this things to them because all mctham new session need "something different" but here is they answer
|
||||
|
||||
> Bedrock & Java can play together, here is "different"
|
||||
|
||||
I mean, they right but this is very "weird" "different" and non-sense but uh,
|
||||
|
||||
I talking about how useful /sethome and automatic tree cut but they said: "idc, cut tree is easy", "skill issues" etc, sadly i lost to few screenshots again. but i will update later.
|
||||
|
||||
Did you know? Piyadon Chaengchenjai and Kanison Konkla kinda don't care about pronouns and we just mad a littie bit...
|
||||
|
||||
Before this happen, [Warathep Panthongkham](https://github.com/UnitieG) just compain about server performance and uh
|
||||

|
||||
> Kinda "ego" for me, I don't know
|
||||
|
||||
And uh, [Warathep Panthongkham](https://github.com/UnitieG) got banned for caught for cheating but uh
|
||||
|
||||

|
||||
> I will won't explain more but look with yourself
|
||||
|
||||
How about Piyadon Chaengchenjai?
|
||||

|
||||
> He got kicked from notmycode
|
||||
|
||||
After mixing all drama about both of them and uh, homophobic i guess?
|
||||
|
||||
Finally, Me, [Pakrn c.](https://github.com/bluestar-b), [Warathep Panthongkham](https://github.com/UnitieG) and [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) decide to make new minecraft server to fight again with MCTham and...
|
||||
|
||||
|
||||
### From drama to cracking, and now to the new project: "Deeka MC".
|
||||
After [Pakrn c.](https://github.com/bluestar-b) upset with [Piyadon Chaengchenjai](https://github.com/HariUwU), We decide to invite [Warathep Panthongkham](https://github.com/UnitieG) to our new project after few "good talk" and her skill.
|
||||
|
||||
However, Why "Deeka MC"
|
||||
- 1. I have one domain that use for url shorter "deeka.me" and i decide to use this
|
||||
- 2. deeka mean "ดีค่ะ" in thai language, mean hello but shorter and more feminine (Because 3/4 is non-binary and transgender MTF)
|
||||
|
||||
I'm agreed that "Deeka MC" use MCTham based before takeover by [Piyadon Chaengchenjai](https://github.com/HariUwU), However i do not care and decide to make it better.
|
||||
|
||||
By doing this, we doing something that MCTham "doesn't" have
|
||||
- 1. Friendly staff/admin
|
||||
- 2. Something "different" from normal survive like new world genreation/biome
|
||||
- 3. Anti-grief, luckperms for permission manage and few more to make deeka better than "MCTham"
|
||||
|
||||
However, this is few pic from deeka if you want to see:
|
||||

|
||||
> Deeka Lobby
|
||||
|
||||

|
||||
> Deeka SMP
|
||||
|
||||
|
||||
Right now, Deeka MC have knockback ffa and SMP with beautiful lobby by [Pakrn c.](https://github.com/bluestar-b), fact we did this before MCTham :trollface:
|
||||
Also we have plan to promote this server to facebook and other platforms soon, however we already ask ThamTvMaster to touch our server in his [stream.](https://www.youtube.com/watch?v=11ApSf55hXE)
|
||||
|
||||
Oh, i forgot something, who people in the team do, let see!
|
||||
|
||||
- [Phapoom Saksri](https://github.com/blueskychan-dev) (Me) - Head of Project/Firewall/Networking/Server management
|
||||
- [Pannarat Wiriyaarritham](https://github.com/PannaratWiriyaarritham) - Admin
|
||||
- [Pakrn c.](https://github.com/bluestar-b) - Builder/Admin/Developer
|
||||
- [Warathep Panthongkham](https://github.com/UnitieG) Developer/Minigames management
|
||||
|
||||
Looks good, I hope deeka will have beautiful dream <3
|
||||
|
||||
However, you think deeka born and someone will **don't** have drama with them? little bit.
|
||||
|
||||
### Java and Bedrock PVP is unfair! (someone said)
|
||||
|
||||
While ThamTvMaster stream our server, [Kanison Konkla](https://github.com/kanisonpoon) Direct message to me with this message:
|
||||
|
||||

|
||||
|
||||
However, geyser **already** solved about **unfair** knockback like few months/year ago and we already tested on our side and nothing wrong.
|
||||
|
||||
However this topic being drama for a hour and now it's quiet...
|
||||
|
||||
We have done countless testing. There is no issues with Knockback on Geyser. They pretty much work the same way as the java player does.
|
||||
|
||||
There is no advantage if you played on java nor bedrock. Since they both have the same combat experience. (We removed the combat cooldown.)
|
||||
|
||||

|
||||
|
||||
### Summary
|
||||
> [Piyadon Chaengchenjai](https://github.com/HariUwU) and [Kanison Konkla](https://github.com/kanisonpoon) owns MCTham for now and we don't know how mctham will going in the futures...
|
||||
>
|
||||
> DeekaMC has born to fight against with MCTham
|
||||
|
||||
I hope this things will getting any updates soon and yea, here is all mctham drama begin and never end...
|
||||
|
||||
Credit:
|
||||
> [Warathep Panthongkham](https://github.com/UnitieG) - Improve english and this blog
|
||||
|
||||
|
||||
- Last updated: 08 Dec 2024
|
|
@ -1,27 +0,0 @@
|
|||
---
|
||||
title: "Goodbye fusemeow.me, Hello blueskychan.dev"
|
||||
desc: Hello world!
|
||||
date: "12-28-2023"
|
||||
tags:
|
||||
- new home
|
||||
- new stuff
|
||||
---
|
||||
|
||||
### Move on from fusemeow.me to blueskychan.dev
|
||||
|
||||
Now i just move on from fusemeow.me to blueskychan.dev, here is why:
|
||||
|
||||
- 1. Performance:
|
||||
Because old blueskychan website (aka fusemeow.me) is kinda use gif image to animated background and it make some devices like older phones/potato devices can crash easily, it why we move on!
|
||||
- 2. Design:
|
||||
The old one, i use staic html and css but this new version now, they are use next.js to design all of website, also this one is just image (not gif like old one) so now it look better!
|
||||
- 3. Backend System:
|
||||
The old one is hosted on github pages, but due to this version use next.js, now we move on to use a vercel for hosting the website! Also we have a blog system, so they need to use next.js too!
|
||||
|
||||
> However, fusemeow.me will hosted until 7 January 2024, and it will be gone!, but osu!collab image will be hosted in here soon!
|
||||
|
||||
Also Thanks you for all support! :3
|
||||
|
||||
Credit: @bluestar.owo (Helper)
|
||||
|
||||
- Last updated: 28 Dec 2023
|
|
@ -1,73 +0,0 @@
|
|||
---
|
||||
title: "Moving On from the Past"
|
||||
desc: "Archiving my old 'educational' tools on GitHub — a personal reflection on growth, learning, and letting go."
|
||||
date: "05-10-2025"
|
||||
tags:
|
||||
- GitHub
|
||||
- Reflection
|
||||
- Programming Journey
|
||||
- Personal Life
|
||||
- Growth
|
||||
---
|
||||
|
||||
# Archiving My Old Projects: A Chapter Ends
|
||||
|
||||
> 📌 tl;dr: I'm officially archiving all my "for educational purpose" DDoS/DoS tools on GitHub. These projects helped me learn programming, but I’ve outgrown them and no longer want them associated with my identity. Time to move on.
|
||||
|
||||
---
|
||||
|
||||
Well, it's finally time to talk about something that's been on my mind for a while:
|
||||
I'm going to archive my old projects—especially the ones related to DDoS/DoS tools created for so-called "educational purposes."
|
||||
|
||||
## 🧠 Why This Matters
|
||||
|
||||
You might wonder: Why archive these now?
|
||||
|
||||
Let me explain the journey that brought me here, and why I think it’s time to move forward.
|
||||
|
||||
---
|
||||
|
||||
## 📖 The Beginning
|
||||
|
||||
Back in the days of "fusenice" (~2020), I didn’t even own a computer. I used my phone and connected to remote desktops from Thai cloud providers like Xver and DriteStudio to experience Windows and explore programming.
|
||||
|
||||
That’s when I discovered Python—it looked fun! I started learning but quickly lost interest. I wasn’t serious about it back then.
|
||||
|
||||
Fast-forward to 2021: I became curious about DDoS attacks after seeing services like MCStresser. I had no clue what I was doing—my first "tool" was literally a batch file running ping in a loop. Around this time, I also moved to Vultr and Azure.
|
||||
|
||||
Later in 2021, I got my first laptop (Core i3-330M, 4GB DDR3, 250GB HDD) for online classes. That’s when I seriously started learning to code again. I discovered C#—and for some reason, it just clicked. I also dabbled in C++ and Linux while trying to make better (but still pretty bad) attack tools.
|
||||
|
||||
Ironically, building those tools pushed me to learn how to code. I was constantly Googling, experimenting, and debugging.
|
||||
|
||||
---
|
||||
|
||||
## 💬 About Those Tools
|
||||
|
||||
Yes, you’ve probably seen the many DDoS/DoS tools on my GitHub. Some of you even followed me because of them.
|
||||
|
||||
One tool that got attention was DDoSPacket, which I made before I even started middle school. Looking back—it was terrible, I agree. I could write a much better version today, but...
|
||||
|
||||
---
|
||||
|
||||
## 🧹 Time to Move On
|
||||
|
||||
I’ve considered rewriting DDoSPacket and similar tools for years—but now, I’ve decided to archive them entirely. Here's why:
|
||||
|
||||
- 🧨 My identity has been unfairly tied to these tools. People call me an "attacker" without any proof—even when I’ve done nothing wrong.
|
||||
- ❌ The "educational purpose" label doesn’t help. Many people still misuse these tools—I've even received Telegram DMs from people using them to attack PUBG servers.
|
||||
- 🚫 I don’t want legal or personal risks. It’s 2025, I’m in high school now, and I’ve got responsibilities, schoolwork, and teachers to deal with. I don’t want to be dragged down by an old repo.
|
||||
- ❤️ I’ve outgrown that phase. These days, I find real joy in learning Linux, C, and Rust.
|
||||
|
||||
---
|
||||
|
||||
## 🫂 Final Words
|
||||
|
||||
Writing those tools taught me a lot. They helped me grow and become who I am today—a true computer enjoyer.
|
||||
|
||||
But everything has its time—and that time is over.
|
||||
|
||||
If you still want to mess around, you can probably find Termux scripts online. But I won’t support or help with anything related to DDoS anymore.
|
||||
|
||||
If you have questions or just want to chat, reach out: hello@mindhas403.dev
|
||||
|
||||
Thanks for reading. Take care, and see you around. <3
|
Before Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 4 KiB |
Before Width: | Height: | Size: 909 KiB |
Before Width: | Height: | Size: 1 MiB |
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"images": [
|
||||
{
|
||||
"path": "gallerypics/2translesbian.png",
|
||||
"description": "I'm bored, i just make picture about me and someone (hope she back)! <3",
|
||||
"date": "2025-04-23"
|
||||
},
|
||||
{
|
||||
"path": "gallerypics/archrice2025.png",
|
||||
"description": "My arch linux rice but changes a bit lol :3",
|
||||
"date": "2025-04-22"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 745 KiB |
Before Width: | Height: | Size: 858 KiB |
Before Width: | Height: | Size: 447 KiB |
Before Width: | Height: | Size: 855 KiB |
Before Width: | Height: | Size: 504 KiB |
Before Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 311 KiB |
Before Width: | Height: | Size: 893 KiB |
Before Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 443 KiB |
Before Width: | Height: | Size: 874 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 2.4 MiB |
Before Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 11 MiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 380 KiB |
Before Width: | Height: | Size: 345 KiB |
Before Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 396 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 349 KiB |
Before Width: | Height: | Size: 505 KiB |
BIN
public/pfp.png
Before Width: | Height: | Size: 1.1 MiB |
|
@ -1,17 +0,0 @@
|
|||
console.log("What are you doing here? ;-;")
|
||||
console.log(
|
||||
"Tips: If you add stright=true to the URL, the font will change to Roboto, easier to read :3",
|
||||
)
|
||||
console.log("Sometimes this world is great, but sometimes it sucks.... :c")
|
||||
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
|
||||
sleep(2500).then(() => {
|
||||
console.log(
|
||||
"%c Something went wrong... :c",
|
||||
"color: #FF69B4; font-size: 20px; font-weight: bold;",
|
||||
)
|
||||
console.log(
|
||||
"%cAlso check out my gallery too! :3 (/gallery)",
|
||||
"color: #FF69B4; font-size: 20px; font-weight: bold;",
|
||||
)
|
||||
})
|
||||
|
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 10 MiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 383 KiB |
Before Width: | Height: | Size: 245 KiB |
Before Width: | Height: | Size: 299 KiB |
Before Width: | Height: | Size: 159 KiB |
Before Width: | Height: | Size: 281 KiB |
|
@ -1,34 +0,0 @@
|
|||
// About.js
|
||||
import Twemoji from "react-twemoji"
|
||||
import Link from "next/link"
|
||||
import PageLink from "./PageLink.jsx"
|
||||
const About = () => {
|
||||
return (
|
||||
<>
|
||||
<span className="font-bold text-lg px-4">About Me!</span>
|
||||
<div className="p-2">
|
||||
<div className="border-t md:border-t-2"></div>
|
||||
</div>
|
||||
<div className="p-4 text-balance max-w-md ">
|
||||
<Twemoji options={{ className: "twemoji w-4 h-4 inline-block", base: 'https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/' }}>
|
||||
Hey, I'm blueskychan_, a 15-year-old student at{" "}
|
||||
<Link
|
||||
className="border px-2.5 py-0.5 mr-1 rounded-lg hover:underline bg-blue-600/20 transition-colors hover:bg-blue-700 font-bold"
|
||||
href="https://bs.ac.th"
|
||||
>
|
||||
Benjamarachanusorn
|
||||
</Link>
|
||||
School in Nonthaburi, Thailand 🇹🇭. I love computer and programming,
|
||||
with skills in C# and C++. Currently learning Python, JavaScript, and
|
||||
More! I play osu! for daily and other for sometimes, Music is
|
||||
randomly, and I've got a <PageLink to="/blog" text="blog" />!
|
||||
too—check it out! :3<br/>
|
||||
(Also check out my{" "}
|
||||
<PageLink to="/gallery" text="gallery" /> too! :3)
|
||||
</Twemoji>
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default About
|
|
@ -1,20 +0,0 @@
|
|||
import Image from "next/image"
|
||||
import { Tooltip } from "react-tooltip"
|
||||
const Avatar = () => {
|
||||
return (
|
||||
<>
|
||||
<div className="rounded-2xl overflow-hidden w-24" id="status">
|
||||
<Image
|
||||
priority={true}
|
||||
src="/pfp.png"
|
||||
width={128}
|
||||
height={128}
|
||||
alt="Profile picture"
|
||||
/>
|
||||
</div>
|
||||
<Tooltip anchorSelect="#status" content="<3" />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default Avatar
|
|
@ -1,15 +0,0 @@
|
|||
import Link from "next/link"
|
||||
|
||||
const ProfileLink = ({ href, LinkIcon }) => {
|
||||
return (
|
||||
<Link
|
||||
href={href}
|
||||
aria-label={href}
|
||||
className={`bg-base-200 mx-3 rounded-lg p-1.5 transition-transform duration-200 ease-in-out hover:scale-110`}
|
||||
>
|
||||
{LinkIcon}
|
||||
</Link>
|
||||
)
|
||||
}
|
||||
|
||||
export default ProfileLink
|
|
@ -1,12 +0,0 @@
|
|||
const PageLink = ({ to, text }) => {
|
||||
return (
|
||||
<a
|
||||
href={to}
|
||||
className="px-2.5 py-0.5 bg-blue-600/20 transition-colors hover:bg-blue-700 font-bold rounded-lg border border-blue/50"
|
||||
>
|
||||
{text}
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
export default PageLink
|
|
@ -1,13 +0,0 @@
|
|||
const Profile = () => {
|
||||
return (
|
||||
<div className="text-lg">
|
||||
<p className="space-x-1">
|
||||
<span className="text-lg font-bold md:text-xl">blueskychan_</span>
|
||||
<span className="font-extralight text-base md:text-xl">she/her :3</span>
|
||||
</p>
|
||||
<div className="text-sm font-bold">Phapoom Saksri</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default Profile
|
|
@ -1,48 +0,0 @@
|
|||
import LinkIcon from "./LinkIcon"
|
||||
import {
|
||||
FacebookLogo,
|
||||
TwitterLogo,
|
||||
TelegramLogo,
|
||||
DiscordLogo,
|
||||
GithubLogo,
|
||||
InstagramLogo,
|
||||
} from "@phosphor-icons/react"
|
||||
|
||||
const SocialLinks = () => {
|
||||
const IconSize = 20
|
||||
const profileLinks = [
|
||||
{
|
||||
href: "https://facebook.com/fusemeoww",
|
||||
LinkIcon: <FacebookLogo size={IconSize} color="#F3F4F6" weight="bold" />,
|
||||
},
|
||||
{
|
||||
href: "https://twitter.com/blueskychan_",
|
||||
LinkIcon: <TwitterLogo size={IconSize} color="#F3F4F6" weight="bold" />,
|
||||
},
|
||||
{
|
||||
href: "https://t.me/mindthenerd",
|
||||
LinkIcon: <TelegramLogo size={IconSize} color="#F3F4F6" weight="bold" />,
|
||||
},
|
||||
{
|
||||
href: "https://discord.com/users/736163902835916880",
|
||||
LinkIcon: <DiscordLogo size={IconSize} color="#F3F4F6" weight="bold" />,
|
||||
},
|
||||
{
|
||||
href: "https://www.instagram.com/blueskychan_irl",
|
||||
LinkIcon: <InstagramLogo size={IconSize} color="#F3F4F6" weight="bold" />,
|
||||
},
|
||||
{
|
||||
href: "https://github.com/blueskychan-dev",
|
||||
LinkIcon: <GithubLogo size={IconSize} color="#F3F4F6" weight="bold" />,
|
||||
},
|
||||
]
|
||||
return (
|
||||
<div className="flex">
|
||||
{profileLinks.map((link, index) => (
|
||||
<LinkIcon key={index} href={link.href} LinkIcon={link.LinkIcon} />
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default SocialLinks
|
|
@ -1,19 +0,0 @@
|
|||
import Head from "next/head"
|
||||
|
||||
export default function notFoundPage() {
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>404 Not Found ;-;</title>
|
||||
</Head>
|
||||
<main className="flex min-h-s creen items-center justify-center">
|
||||
<div className="backdrop-blur-md bg-[#2a154f]/50 rounded-lg p-3 max-w-md md:max-w-lg overflow-hidden overflow-ellipsis flex flex-col items-center justify-center">
|
||||
<h1 className="text-lg font-bold text-red-500">404 Not Found :(</h1>
|
||||
<p className="text-lg font-bold text-white">
|
||||
The page you're looking for is not found, Sorry ;-;
|
||||
</p>
|
||||
</div>
|
||||
</main>
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
import "~/styles/globals.css"
|
||||
|
||||
// pages/_app.js
|
||||
import { useEffect } from "react"
|
||||
import { useRouter } from "next/router"
|
||||
import { Roboto, Mali } from "next/font/google"
|
||||
import { Analytics } from '@vercel/analytics/next';
|
||||
import { SpeedInsights } from '@vercel/speed-insights/next';
|
||||
|
||||
const roboto = Roboto({
|
||||
weight: "400",
|
||||
subsets: ["latin"],
|
||||
})
|
||||
|
||||
const mali = Mali({ subsets: ["latin"], weight: "400" })
|
||||
|
||||
function MyApp({ Component, pageProps }) {
|
||||
const router = useRouter()
|
||||
|
||||
const stright = router.query.stright !== undefined
|
||||
useEffect(() => {
|
||||
if (stright) {
|
||||
document.body.classList.add(roboto.className)
|
||||
document.body.classList.remove(mali.className)
|
||||
} else {
|
||||
document.body.classList.add(mali.className)
|
||||
document.body.classList.remove(roboto.className)
|
||||
}
|
||||
}, [stright])
|
||||
|
||||
|
||||
return (
|
||||
<>
|
||||
<Component {...pageProps} />
|
||||
<Analytics />
|
||||
<SpeedInsights />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default MyApp
|
|
@ -1,19 +0,0 @@
|
|||
import { Html, Head, Main, NextScript } from "next/document"
|
||||
import Script from "next/script"
|
||||
|
||||
export default function Document() {
|
||||
return (
|
||||
<Html lang="en">
|
||||
<meta property="og:image" content="/favicon.webp" />
|
||||
<link rel="icon" href="/favicon.webp" sizes="any" />
|
||||
<Head />
|
||||
<body className="flex backdrop-blur-sm backdrop-brightness-75 flex-col justify-center items-center h-screen p-2">
|
||||
<div className="">
|
||||
<Main />
|
||||
<NextScript />
|
||||
<script src="/random.js" />
|
||||
</div>
|
||||
</body>
|
||||
</Html>
|
||||
)
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
|
||||
|
||||
export default function handler(req, res) {
|
||||
res.status(200).json({ name: "John Doe" })
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
import path from "path";
|
||||
import fs from "fs";
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
res.status(405).json({ message: "Method Not Allowed" });
|
||||
return;
|
||||
}
|
||||
|
||||
const random = Math.floor(Math.random() * 5) + 1; // Generate random number 1-6
|
||||
const imagePath = path.join(process.cwd(), "public", "wallpaper", `${random}.jpeg`);
|
||||
|
||||
// Check if the image file exists
|
||||
if (!fs.existsSync(imagePath)) {
|
||||
res.status(404).json({ message: "Image Not Found" });
|
||||
return;
|
||||
}
|
||||
|
||||
// Read the image file from the filesystem
|
||||
const image = fs.readFileSync(imagePath);
|
||||
|
||||
// Set the appropriate headers and send the image
|
||||
res.setHeader("Content-Type", "image/jpeg");
|
||||
res.send(image);
|
||||
}
|
|
@ -1,138 +0,0 @@
|
|||
import fs from "fs"
|
||||
import matter from "gray-matter"
|
||||
import Link from "next/link"
|
||||
import Head from "next/head"
|
||||
import { useState } from "react"
|
||||
|
||||
export async function getStaticProps() {
|
||||
const files = fs.readdirSync("posts")
|
||||
|
||||
const posts = files
|
||||
.filter((fileName) => !fileName.endsWith("-th.md"))
|
||||
.map((fileName) => {
|
||||
const slug = fileName.replace(".md", "")
|
||||
const readFile = fs.readFileSync(`posts/${fileName}`, "utf-8")
|
||||
const { data: frontmatter } = matter(readFile)
|
||||
|
||||
const rawDate = frontmatter.date
|
||||
const parsedDate = new Date(rawDate)
|
||||
|
||||
const isValidDate = !isNaN(parsedDate.getTime())
|
||||
|
||||
return {
|
||||
slug,
|
||||
frontmatter: {
|
||||
...frontmatter,
|
||||
formattedDate: isValidDate
|
||||
? parsedDate.toLocaleDateString("en-US", {
|
||||
year: "numeric",
|
||||
month: "long",
|
||||
day: "numeric",
|
||||
})
|
||||
: "Invalid Date",
|
||||
parsedDate: isValidDate ? parsedDate.toISOString() : null,
|
||||
},
|
||||
}
|
||||
})
|
||||
.sort((a, b) => {
|
||||
const dateA = a.frontmatter.parsedDate ? new Date(a.frontmatter.parsedDate) : new Date(0)
|
||||
const dateB = b.frontmatter.parsedDate ? new Date(b.frontmatter.parsedDate) : new Date(0)
|
||||
return dateB.getTime() - dateA.getTime()
|
||||
})
|
||||
|
||||
|
||||
return {
|
||||
props: {
|
||||
posts,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
export default function Blog({ posts }) {
|
||||
const [search, setSearch] = useState("")
|
||||
const [sortBy, setSortBy] = useState("date")
|
||||
|
||||
const filteredPosts = posts
|
||||
.filter(({ frontmatter }) =>
|
||||
frontmatter.title.toLowerCase().includes(search.toLowerCase())
|
||||
)
|
||||
.sort((a, b) => {
|
||||
if (sortBy === "letter") {
|
||||
return a.frontmatter.title.localeCompare(b.frontmatter.title)
|
||||
} else {
|
||||
return (
|
||||
new Date(b.frontmatter.parsedDate).getTime() -
|
||||
new Date(a.frontmatter.parsedDate).getTime()
|
||||
)
|
||||
}
|
||||
})
|
||||
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>My Blog :3</title>
|
||||
<meta name="theme-color" content="#FFC0CB" />
|
||||
<meta property="og:title" content="Blog" key="title" />
|
||||
<meta property="og:description" content="My blog :3" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
</Head>
|
||||
|
||||
<div className="p-4 md:p-6 backdrop-blur-md bg-gray-800/50 rounded-lg max-w-7xl mx-auto">
|
||||
<h1 className="text-2xl md:text-3xl font-bold mb-2 text-center text-[#FFC0CB]">Blog</h1>
|
||||
<p className="text-center text-gray-300 mb-4 md:mb-6 text-sm md:text-base">
|
||||
All of my thoughts and writings :3
|
||||
</p>
|
||||
|
||||
{/* Search & Sort */}
|
||||
<div className="flex flex-col gap-3 md:gap-4 md:flex-row items-start md:items-center mb-4 md:mb-6 bg-gray-700/50 p-3 md:p-4 rounded-lg">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Search posts..."
|
||||
value={search}
|
||||
onChange={(e) => setSearch(e.target.value)}
|
||||
className="px-3 py-2 md:px-4 md:py-2 rounded-xl border border-gray-300 bg-white/80 text-black shadow-md focus:outline-none focus:ring-2 focus:ring-pink-300 flex-grow text-sm md:text-base"
|
||||
/>
|
||||
<select
|
||||
value={sortBy}
|
||||
onChange={(e) => setSortBy(e.target.value)}
|
||||
className="px-3 py-2 md:px-4 md:py-2 rounded-xl border border-gray-300 bg-white/80 text-black shadow-md focus:outline-none focus:ring-2 focus:ring-pink-300 text-sm md:text-base"
|
||||
>
|
||||
<option value="date">Sort by Date</option>
|
||||
<option value="letter">Sort by Alphabetical</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{/* Posts */}
|
||||
{filteredPosts.length > 0 ? (
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3 md:gap-4">
|
||||
{filteredPosts.map(({ slug, frontmatter }) => (
|
||||
<Link
|
||||
key={slug}
|
||||
href={`/post/${slug}`}
|
||||
className="border-2 border-gray-300/80 bg-gray-700/50 hover:bg-gray-600/70 transition-all duration-300 rounded-xl shadow-lg overflow-hidden flex flex-col backdrop-blur-md hover:shadow-pink-500/20 hover:border-pink-300/50 group"
|
||||
>
|
||||
<div className="p-3 md:p-4 flex flex-col h-full">
|
||||
<h1 className="text-lg md:text-xl font-bold text-white group-hover:text-[#FFC0CB] transition-colors duration-300 line-clamp-2">
|
||||
{frontmatter.title}
|
||||
</h1>
|
||||
<p className="text-xs md:text-sm text-gray-300 mt-1 mb-2 md:mb-3">
|
||||
{frontmatter.formattedDate}
|
||||
</p>
|
||||
{frontmatter.description && (
|
||||
<p className="text-gray-400 text-xs md:text-sm mt-auto line-clamp-2">
|
||||
{frontmatter.description}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
) : (
|
||||
<div className="text-center py-6 md:py-8 bg-gray-700/30 rounded-lg">
|
||||
<p className="text-gray-300 text-base md:text-lg">No posts found matching your search.</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -1,120 +0,0 @@
|
|||
import { useEffect, useState } from "react";
|
||||
import Head from "next/head";
|
||||
|
||||
const Gallery = () => {
|
||||
const [images, setImages] = useState([]);
|
||||
const [selectedImage, setSelectedImage] = useState(null);
|
||||
|
||||
useEffect(() => {
|
||||
const fetchImages = async () => {
|
||||
try {
|
||||
const response = await fetch("/gallerypics/data.json");
|
||||
const data = await response.json();
|
||||
const sortedImages = data.images.sort(
|
||||
(a, b) => new Date(b.date) - new Date(a.date)
|
||||
);
|
||||
setImages(sortedImages);
|
||||
} catch (error) {
|
||||
console.error("Error fetching gallery data:", error);
|
||||
}
|
||||
};
|
||||
|
||||
fetchImages();
|
||||
}, []);
|
||||
|
||||
const handleImageClick = (image) => {
|
||||
document.body.style.overflow = "hidden";
|
||||
setSelectedImage(image);
|
||||
};
|
||||
|
||||
const closePopup = () => {
|
||||
document.body.style.overflow = "auto";
|
||||
setSelectedImage(null);
|
||||
};
|
||||
|
||||
const handleBackdropClick = (e) => {
|
||||
if (e.target === e.currentTarget) {
|
||||
closePopup();
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>Gallery | blueskychan_ :3</title>
|
||||
<meta name="theme-color" content="#FFC0CB" />
|
||||
<meta property="og:title" content="Gallery | blueskychan_ :3" key="title" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="All of my stupid pics to show :3"
|
||||
/>
|
||||
</Head>
|
||||
|
||||
<div className="p-4 backdrop-blur-md bg-gray-800/50 rounded-lg">
|
||||
<h1 className="text-2xl font-bold mb-2 text-center text-[#FFC0CB]">Gallery</h1>
|
||||
<p className="text-center text-gray-300 mb-4">All of my stupid pics to show :3</p>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
|
||||
{images.map((image, index) => (
|
||||
<div
|
||||
key={index}
|
||||
className="border rounded-lg overflow-hidden shadow-lg bg-gray-800 cursor-pointer"
|
||||
onClick={() => handleImageClick(image)}
|
||||
>
|
||||
<div className="relative group">
|
||||
<img
|
||||
src={image.path}
|
||||
alt={image.description}
|
||||
className="w-full h-48 object-cover group-hover:blur-sm transition duration-300"
|
||||
/>
|
||||
<div className="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition duration-300 bg-black bg-opacity-50">
|
||||
<p className="text-white text-lg font-semibold">View Image</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="p-4">
|
||||
<p className="text-sm text-gray-400">{image.date}</p>
|
||||
<p className="text-lg font-semibold">{image.description}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{selectedImage && (
|
||||
<div
|
||||
className="fixed inset-0 flex items-center justify-center z-50 backdrop-blur-sm"
|
||||
onClick={handleBackdropClick}
|
||||
>
|
||||
<div className="rounded-lg overflow-hidden shadow-lg max-w-lg w-full mx-4">
|
||||
<img
|
||||
src={selectedImage.path}
|
||||
alt={selectedImage.description}
|
||||
className="w-full h-auto max-h-[80vh] object-contain"
|
||||
/>
|
||||
<div className="p-4 bg-gray-800">
|
||||
<p className="text-lg font-semibold text-white">{selectedImage.description}</p>
|
||||
<p className="text-sm text-gray-300">{selectedImage.date}</p>
|
||||
<div className="mt-4 flex justify-end space-x-2">
|
||||
<a
|
||||
href={selectedImage.path}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition"
|
||||
>
|
||||
View Raw Image
|
||||
</a>
|
||||
<button
|
||||
onClick={closePopup}
|
||||
className="px-4 py-2 bg-gray-500 text-white rounded-lg hover:bg-gray-600 transition"
|
||||
>
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default Gallery;
|
|
@ -1,37 +0,0 @@
|
|||
//import { Mali } from "next/font/google"
|
||||
import About from "~/components/About"
|
||||
import Avatar from "~/components/Avatar"
|
||||
import Profile from "~/components/Profile"
|
||||
import SocialLinks from "~/components/SocialLinks"
|
||||
import Head from "next/head"
|
||||
|
||||
//const inter = Mali({ subsets: ["latin"], weight: "400" })
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>About blueskychan_ :3</title>
|
||||
<meta name="theme-color" content="#FFC0CB" />
|
||||
<meta property="og:title" content="Hello, World! <3" key="title" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="About some stupid person call blueskychan, or Mind :3"
|
||||
/>
|
||||
</Head>
|
||||
|
||||
<main>
|
||||
<div className="backdrop-blur-md bg-[#2a154f]/50 rounded-lg p-3 max-w-md md:max-w-lg overflow-hidden overflow-ellipsis">
|
||||
<div className="flex flex-row space-x-3 items-center p-3">
|
||||
<Avatar />
|
||||
<Profile />
|
||||
</div>
|
||||
<div>
|
||||
<SocialLinks />
|
||||
<About />
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
import fs from "fs"
|
||||
import matter from "gray-matter"
|
||||
import md from "markdown-it"
|
||||
import Head from "next/head"
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const files = fs.readdirSync("posts")
|
||||
const paths = files.map((fileName) => ({
|
||||
params: {
|
||||
slug: fileName.replace(".md", ""),
|
||||
},
|
||||
}))
|
||||
return {
|
||||
paths,
|
||||
fallback: false,
|
||||
}
|
||||
}
|
||||
|
||||
export async function getStaticProps({ params: { slug } }) {
|
||||
const fileName = fs.readFileSync(`posts/${slug}.md`, "utf-8")
|
||||
const { data: frontmatter, content } = matter(fileName)
|
||||
return {
|
||||
props: {
|
||||
frontmatter,
|
||||
content,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
export default function PostPage({ frontmatter, content }) {
|
||||
const postTags = frontmatter.tags.map((tag) => (
|
||||
<div
|
||||
className="inline-block border rounded-md font-bold text-lg mr-1 py-0.5 px-2.5"
|
||||
key={tag.toString()}
|
||||
>
|
||||
{tag}
|
||||
</div>
|
||||
))
|
||||
const proseClass =
|
||||
"prose p-4 prose-invert prose-neutral mx-auto bg-gray-700/50 backdrop-blue-md backdrop-blur-md h-100 overflow-y-auto h-screen"
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>{frontmatter.title}</title>
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content={frontmatter.title} />
|
||||
<meta property="og:description" content={frontmatter.desc} />
|
||||
|
||||
<meta name="twitter:title" content={frontmatter.title} />
|
||||
<meta name="twitter:description" content={frontmatter.desc} />
|
||||
</Head>
|
||||
<div className={proseClass}>
|
||||
<p className="font-bold text-md">{frontmatter.date}</p>
|
||||
<h1 className="border-b-2 p-1">{frontmatter.title}</h1>
|
||||
<div>{postTags}</div>
|
||||
<div dangerouslySetInnerHTML={{ __html: md().render(content) }} />
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
|
@ -1,33 +0,0 @@
|
|||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
body {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
color: #ffc6d7fc;
|
||||
overflow: hidden;
|
||||
|
||||
--background-image: url("/api/random-background-picture");
|
||||
background-image: var(--background-image);
|
||||
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
background-size: cover;
|
||||
background-position: center center;
|
||||
}
|
||||
|
||||
@media only screen and (orientation: portrait) {
|
||||
body {
|
||||
--background-image: url("/mobile.png");
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/* In case if device height is less than 900px */
|
||||
/* Notice: This design for small screen and mobile devices, scroll bar still be shown, will fix in next commit! <3 */
|
||||
@media only screen and (max-height: 900px) {
|
||||
body {
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
content: [
|
||||
"./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
|
||||
"./src/components/**/*.{js,ts,jsx,tsx,mdx}",
|
||||
"./src/app/**/*.{js,ts,jsx,tsx,mdx}",
|
||||
],
|
||||
theme: {
|
||||
extend: {},
|
||||
},
|
||||
plugins: [require("@tailwindcss/typography")],
|
||||
}
|