{"id":23275597,"url":"https://github.com/Khushal-Me/SnakeSync","last_synced_at":"2025-08-21T08:31:48.152Z","repository":{"id":243500379,"uuid":"812292177","full_name":"Khushal-Me/SnakeSync","owner":"Khushal-Me","description":"Multiplayer Snake game implemented in Python, using sockets for communication between the server and multiple clients.","archived":false,"fork":false,"pushed_at":"2024-12-28T00:43:15.000Z","size":23,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-04T00:03:01.920Z","etag":null,"topics":["python","rsa-encryption","server"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Khushal-Me.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-08T13:31:20.000Z","updated_at":"2025-03-08T15:27:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"7e55da9b-c018-4b50-af67-a7ac058af87e","html_url":"https://github.com/Khushal-Me/SnakeSync","commit_stats":null,"previous_names":["khushal-me/snake-game","khushal-me/snake-game-with-rsa","khushal-me/snakesync"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Khushal-Me/SnakeSync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khushal-Me%2FSnakeSync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khushal-Me%2FSnakeSync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khushal-Me%2FSnakeSync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khushal-Me%2FSnakeSync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Khushal-Me","download_url":"https://codeload.github.com/Khushal-Me/SnakeSync/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khushal-Me%2FSnakeSync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271449280,"owners_count":24761646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","rsa-encryption","server"],"created_at":"2024-12-19T21:15:14.168Z","updated_at":"2025-08-21T08:31:48.147Z","avatar_url":"https://github.com/Khushal-Me.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SnakeSync\n\nThis repository contains a multiplayer Snake game implemented in Python, using sockets for communication between the server and multiple clients. The game includes encrypted communication using RSA.\n\n## Project Structure\n\n- **snake.py**: Contains the main game logic.\n- **snake_server.py**: The server-side script.\n- **snake_client.py**: The client-side script.\n\n## Setup Instructions\n\n### Prerequisites\n\n- Python 3.x\n- Pygame (`pip install pygame`)\n- PyCryptoDome (`pip install pycryptodome`)\n\n### Running the Server\n\n1. **Navigate to the project directory**:\n    ```sh\n    cd path/to/project\n    ```\n\n2. **Run the server script**:\n    ```sh\n    python snake_server.py\n    ```\n\n### Running the Client\n\n1. **Navigate to the project directory**:\n    ```sh\n    cd path/to/project\n    ```\n\n2. **Run the client script**:\n    ```sh\n    python snake_client.py\n    ```\n\n### Game Controls\n\n- **Arrow Keys**: Control the direction of the snake.\n- **Space**: Reset the game.\n- **Enter**: Send a message to all players.\n\n## File Descriptions\n\n### snake.py\n\nThis file contains the main logic for the Snake game. It includes classes and methods to handle game state, player movement, and game updates.\n\n### snake_server.py\n\nThis file sets up a server that handles multiple clients. The server:\n- Accepts new client connections.\n- Manages the game state and player movements.\n- Uses RSA for encrypted communication with clients.\n\n### snake_client.py\n\nThis file connects to the server and allows a user to play the game. The client:\n- Sends player movements to the server.\n- Receives game state updates from the server.\n- Displays the game using Pygame.\n\n## Encryption\n\nThe communication between the server and clients is encrypted using RSA. Each client sends its public key to the server, and the server uses this key to encrypt messages sent to the client.\n\n## Contributing\n\nContributions are welcome! Feel free to open issues or submit pull requests.\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKhushal-Me%2FSnakeSync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKhushal-Me%2FSnakeSync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKhushal-Me%2FSnakeSync/lists"}