An single python server emulator of MMORPG game WindSlayer also known as WS1.

Overview

PySlayer

An single python server emulator of MMORPG game WindSlayer also known as WS1.

Requirements

  • Python >= 3.7
  • Old windslayer client (Korea Yahoo! ver.)

Installation

  1. 윈드슬레이어 야후 버전(MD5:209dfadadbd83badaab2f85d075accae)을 구해서 /patch/WS1Yahoo.xdelta 패치를 적용합니다. 서버를 로컬호스트로 돌리고, 야후로 리다이렉션 되는것을 막아줍니다.

  2. 윈드슬레이어 야후 버전의 Fireway.dll파일을 드래그해 /utils/get_xorkey.py 파일 위에 드래그 합니다. 자동으로 _key.py 파일이 생성되면 이를 server.py가 있는 폴더와 동일한 경로에 놔둡니다.

  3. run.cmd 파일을 실행하면 자동으로 서버가 실행됩니다. 이후 패치된 야후 윈드슬레이어 클라이언트를 실행하면 됩니다.

What can we do for now?

지금 현재는 인게임밖에 안됩니다.

TODO

  • 패킷 분석 및 문서화
  • 로컬 데이터베이스 구축
  • UDP 패킷 통신 분석 및 에뮬레이션
  • 멀티플레이어 활성화

Why we cannot play on multi?

제가 파이썬이란 언어를 선택한 이유는 가장 익숙하기도 하지만 빠르게 오고가는 통신을 쉽게 확인하고 조작하기 쉽게 하기 때문이었습니다. 다만 파이썬은 멀티쓰레드를 구현하기 복잡하고, 현재 CSNsocketSingleton Pattern으로 구현하였기 때문에 여러 사람이 오게 될 경우 백이면 백 DeadLock이 옵니다.

About CSNsoceket

윈드슬레이어는 기본적으로 Fireway.dll 이라는 파일에서 통신을 진행하고, 이때 사용되는 클래스가 CSNsocket이라는 겁니다. 클라이언트 입장에서 패킷을 받을 땐 암호화가 진행되지 않지만, 패킷을 보낼 땐 XOR 암호화가 진행됩니다. 이를 에뮬레이션한건 /lib/csnsocket.py에 있습니다.

About Copyright

제가 작성한 소스코드 중 단 하나라도 윈드슬레이어 클라이언트 혹은 실제 서버 코드를 이용해 작성한 적이 없습니다. XOR키 또한 유저가 클라이언트에서 직접 추출하게 하므로, 저작권엔 아무 문제가 없습니다. 다만 이를 통해 상용 서버를 열고, 변조된 클라이언트를 배포하게 된다면 저작권에 저촉될 가능성이 존재합니다. 이에 대한 불이익 및 처벌에 대하여 저는 아무런 책임을 지지 않습니다.

About License

현재 이 프로젝트는 GPL License를 따르고 있습니다. 제 소스코드를 수정할 경우 이를 공개할 의무가 있습니다. 제 프로젝트에 대한 Contribute는 언제나 환영합니다.

Special Thanks

  • Riuga for help reversing CSNsocket and build some server-side packets.
Owner
mirusu400
2020.09.21~2022.06.20 군대와서 코딩더열심히하는사람
mirusu400
A set of functions compatible with the TIC-80 platform

Pygame-80 A set of functions from TIC-80 tiny computer platform ported to Pygame 2.0.1. Many of them are designed to work with the NumPy library to im

7 Aug 08, 2022
A game made similar as space inveders with pygame

space-inveders-pygame a game made similar as space inveders with pygame . . . if you are using it make sure to change audio and imgs file i do no own

Volt_L18 2 Dec 26, 2021
A pygame implementation of John Conway's Game of Life

Game of Life A Pygame Simulation This is a Pygame implementation of the famous Conway's Game of Life. The game features a set of very simple rules: An

1 Jan 06, 2022
A rhythm-based game that automatically generates obstacles based on a song's features.

DISCLAIMER: This is my first coding project, created in December 2019. The game may not be optimized, and looking back on it, there are a lot of chang

Kenneth Huang 1 Dec 27, 2021
Wordle is a web-based word game. Players have six attempts to guess a five-letter word;

Wordle is a web-based word game. Players have six attempts to guess a five-letter word; feedback is given for each guess, in the form of colored tiles, indicating when letters match or occupy the cor

Abhishek 2 May 21, 2022
Abandoned plan for a clone of the old Flash game Star Relic

space-grid When I was in middle school, I was a fan of the Flash game Star Relic (no longer playable in modern browsers, but it works alright in Flash

Radon Rosborough 3 Aug 23, 2021
A script to install a Windows game through GOG on Linux

proton-gog-install A script to install a Windows game through GOG on Linux. Based on this gist. Tested on Arch, might work elsewhere. Requirements: Im

5 Dec 28, 2022
MCRPC (Minecraft Resource Pack Comparator) checks your resource pack against any version of Minecraft to show resources missing from your pack for that version.

Minecraft Resource Pack Comparator MCRPC checks your resource pack against any version of Minecraft to show resources missing from your pack for that

3 Nov 03, 2022
Client-Server design (guess the closest number to the average score game)

Multiplayer game (enter the number closest to the average) Design Client-Server design The client's side is responsible for sending numbers from the g

Adam Piszczek 0 Jun 29, 2022
An asynchronous Minecraft server wrapper written in python3 with asyncio

mark3 (WIP) A modern Minecraft server wrapper written in python3 with asyncio TODO Note: The order of the following checklist doesn't necessarily mean

Colin Andress 7 Jul 29, 2022
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d-x Win32 Others cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is

cocos2d 16.7k Jan 04, 2023
Tekken-python-ml - A project of playing tekken game using python

Tekken Python Description Hi this is new project of playing tekken game using py

Programminghut 13 Dec 30, 2022
Jiminy, fast and portable Python/C++ simulator of poly-articulated systems with OpenAI Gym interface for reinforcement learning.

Jiminy is a fast and portable cross-platform open-source simulator for poly-articulated systems. It was built with two ideas in mind: provide a fast y

Alexis DUBURCQ 122 Dec 29, 2022
MiTM proxy server for Darza's Dominion

Midnight A MiTM proxy server for Darza's Dominion, PC version. See this video for a demonstration of godmode: https://youtu.be/uoqvSxmnCJk How to use

2 Oct 24, 2022
Sukoku-solver Python About Sudoku is one of the most popular puzzle games of all time

Sukoku-solver Python About Sudoku is one of the most popular puzzle games of all time. As a logic puzzle, Sudoku is also an excellent brain game. Bein

Harshith VH 1 Nov 20, 2021
Automatically prepare your Minecraft maps for release

map-prepare Automatically prepare Mineraft map for release. Current state: kinda works Make sure you have backups for your world before running this p

11 Oct 11, 2022
Running Chess Night results tabulation

Running Chess Night results tabulation

Mitch LeBlanc 2 Nov 20, 2021
Pyvidplayer - An extremely easy to use module that plays videos on Pygame

pyvidplayer An extremely easy to use module that plays videos on Pygame Example

17 Dec 05, 2022
Tic Tac Toe Python Game GUI

Tic Tac Toe is one of the most played games and is the best time killer game that you can play anywhere with just a pen and paper.

Astitva Veer Garg 1 Jan 11, 2022
The original Tetris tile-matching game as adopted by IBM PC.

🕹️ Tetris Game The original Tetris tile-matching game as adopted by IBM PC. Game developed purely on python using the Dear PyGui Framework. 📖 Instru

14 Nov 12, 2022