https://github.com/jidoc01/RustyDO
취미삼아 게임서버를 여러 언어로 짜보다가 (C#, C++, F#, Golang, node.js 등등)
러스트에 정착하였읍니다.
러스트는 신입니다...
온갖 곳에서 그렇게 코딩하지 말라며 훈수두는 지랄신입니다.
하지만 그덕에 코딩을 보는 눈이 전보다 넓어진 듯도 하고...
뭣보다도 빌드나 런타임 속도 모두 빠릿빠릿하면서 갖가지 로지컬한 에러 관련해 걱정할 필요가 없네여.
메인 로직은 싱글스레드 + 시분할로 구성하고,
패킷 송수신이나 서버간 통신 같이 I/O 발생하는 것들은 전부 channel + tokio 써서 task로 돌렸습니다.
DB는 sqlite 기반에 JSON2 모듈 써서 구현해봤는데,
부하 테스트는 안해봤지만... 가볍게 쓰기엔 쓸 만한거 같습니다.
게임은 요런 게임입니다 (게임은 2002년도에 나왔던 겜이고, 서버만 제가 구현했습니다):
관심 있으시면 레포 오셔서 구경하다 가십셔.
물론 서버 돌려서 직접 플레이도 가능합니다.
게임 내적으로 대부분의 기능이 구현돼 있습니다.
컨트리뷰션 해주셔도 환영합니다.
아마 코드 보시면 혼자 비비던 거라 스파게티 코드 많을 겁니다...
요즘은 iocp, epoll 많이 쓰니까 함 알아보셈
패킷 송수신 시 task를 따로 돌려서 tokio로 처리하고 있는데 내부적으로 iocp를 씁니다. 리퀘스트를 폴링해서 따로 처리합니다
이런거 만드는애가 iocp epoll을 모르겠냐
요즘?? io_uring이 리쿡스 커널 2.대에 나왔다 ㅋㅋ
개추 - dc App
고수
개고수 ㄷㄷㄷ
프로토콜은 리버스로 알아낸 거임? 대단하다
오 포켓몬이노
아니 디지몬마렵네 ㄹㅇ
혹시 코드 설명하는거 유튜브로 잠깐 올려주시면 ㄳㄳ..
iocp + C++ 조합 대비 어떤점이 좋다고 느꼈나요? 확실히 게임 서버쪽은 클라와는 달리 로직만 있으면 되서 신규 플젝은 러스트로 가는걸 고민할법만한데
현직 서버 프로그래머인데 신규 플젝 러스트? 진짜 개씹소리임 C++ 도 똑바로 못하는 인간들이 업계 90% 임
그래서 러스트가 ㄱㅊ은거 아님? 일단 컴파일 ok 되면 런타임에 메모리 잘못되서 서버 터지고 재현도 안되서 메모리 가드 올리고 기도하는 줘같은 경우는 없을거 아녀
학식임? 기존 언어 버전업도 못하는곳이 태반인데 무슨 신규언어를 써
기존 플젝이 아니라 신규 플젝 말하고 있잖아
이런 저능아들이나 러스트 빨지 으이구 러스트 = 저능아 언어 ㄹㅇㅋㅋ 언어에 매몰된 병신들 ㅋㅋ
대체 프로토콜 리버스 엔지니어링은 어떻게함..?
옛날 게임은 패킹이 안 되어 있어서 그냥 열린 문임
나도 옛날 게임 프리서버 만드는 중인데 그냥 디버거로 열고 io 함수부터 차근차근하면 안 어려움 특히 본문 게임 같은 경우는 서버는 방 만들어주면 클라가 알아서 해가지고 서버는 할 일 없어 보이니까 더 쉬움
디스어셈블 해놓고 하나하나 쌓아본다는거지?
ida pro 로 exe 파일 열어서 디컴파일러로 정적 분석, 디버거 붙여 놓고 실제로 io 해보면서 브레이크 잡으면서 차근차근 분석함
와 간만에 보이는 개고수네 ㄷㄷ 자주와줘여
C# Task 나 C++ 에서 Task 를 직접 구현하고 awaiter 정의해서 co_await 사용하면 되는데 굳이 러스트 쓸 이유가 없어보임
깃갤 러스트충들은 그냥 러스트 팬보이 우물안 개구리임 굳이 러스트로 안 만들어도 잘 돌아갈 프로그램을 본인이 러스트밖에 모르니까 러스트로 만들고 으쓱 거리는 게 깃갤 러스트하는 놈들 현실임 그래서 C/C++/Java/C# 으로 만들면 안 됨? 러스트로 만들면 장점이 뭐임? 하면 나무위키 키고 러스트의 장점 챕터 보고 웅엥웅하는데 입이 찢어져도 절대 러스트로 짜서 생기는 단점에 대해서는 이야기 안 함 ㅋㅋ
프로그래머가 아니라 그냥 러스트 팬보이들이라 언어 자체에 매몰돼서 단점 얘기하는 것 자체를 꺼림 ㅇㅇㅋ 다른 사람들은 무작정 러스트 안 써보고 까는 줄 아는 우물안 개구리 러스트 팬보이가 현실임 현명한 사람들은 러스트 대충 익혀보고 장단점 파악하고 그냥 갖다 버렸음 깃갤 러스트충 1000에 999가 만드는 프로그램은 굳이 러스트로 짜일 이유가 단 하나도 없음
러슬람 러들러들~
스타 드림
러스트는 러슬람도 많고 억까도 존나많네 굳이 러스트로 짜일 이유 ㅇㅈㄹ 러스트가 아니라도 굳이 그언어로 짜일 이유가 있는경우가 거의없는데?? 클라까지 러스트로 다바꿔야된다는 헛소리를 하는것도 아니고, 충분히 생각해볼만한 얘기를 해도 그냥 무지성 억까하면서 러슬람으로 몰아가네.
러슬람 러들러들하노
익명 공간이라 그런지 댓글이 조금 어지럽네요...! 혹시 궁금하신 사항 있으시면 제가 답해드릴 수 있는 부분은 제 깃헙 메일로 보내주시면 답해드리겠습니다! 참고로 저는 여러 언어에 관심있는, 바이너리와 PL 공부하는 학생일 뿐, 제 본업에서는 F#과 Python밖에 안 써요. 팬보이 그런 거 아니에요 ㅠㅠ
러슬람 러들러들하노
또 러슬람이네?
와 이겜을 여기서 다 보네... 바로 스타박았습니다
러슬람 러들러들~
이게 깃갤 러스트 팬보이 수준이지 ㅇㅇㅋ
이 능력으로 디지몬 온라인을..
rust를 시작하고 지병인 고환암이 나았습니다...