{"id":29091162,"url":"https://github.com/rjryt/samp-socket-plugin","last_synced_at":"2025-06-28T06:05:45.961Z","repository":{"id":300952673,"uuid":"1007511129","full_name":"RJRYT/samp-socket-plugin","owner":"RJRYT","description":"🔌 SA-MP Socket Plugin – Clean Rebuild with Windows \u0026 Linux Support","archived":false,"fork":false,"pushed_at":"2025-06-24T11:18:17.000Z","size":512,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-24T12:36:15.057Z","etag":null,"topics":["cpp","open-source","pawn","plugin","samp","socket"],"latest_commit_sha":null,"homepage":"","language":"C++","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/RJRYT.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":"2025-06-24T05:45:31.000Z","updated_at":"2025-06-24T11:18:20.000Z","dependencies_parsed_at":"2025-06-24T12:48:27.999Z","dependency_job_id":null,"html_url":"https://github.com/RJRYT/samp-socket-plugin","commit_stats":null,"previous_names":["rjryt/samp-socket-plugin"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/RJRYT/samp-socket-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJRYT%2Fsamp-socket-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJRYT%2Fsamp-socket-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJRYT%2Fsamp-socket-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJRYT%2Fsamp-socket-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RJRYT","download_url":"https://codeload.github.com/RJRYT/samp-socket-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJRYT%2Fsamp-socket-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262382732,"owners_count":23302296,"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","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":["cpp","open-source","pawn","plugin","samp","socket"],"created_at":"2025-06-28T06:05:45.090Z","updated_at":"2025-06-28T06:05:45.948Z","avatar_url":"https://github.com/RJRYT.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SA-MP Socket Plugin (SSL-Free)\n\n![GitHub topic](https://img.shields.io/badge/topic-samp--plugin-blue?logo=github)\n![Built without OpenSSL](https://img.shields.io/badge/SSL-Free-lightgrey?logo=lock)\n![Windows](https://img.shields.io/badge/platform-Windows-blue?logo=windows)\n![Linux](https://img.shields.io/badge/platform-Linux-green?logo=linux)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/RJRYT/samp-socket-plugin?label=release)\n![GitHub license](https://img.shields.io/github/license/RJRYT/samp-socket-plugin)\n![GitHub stars](https://img.shields.io/github/stars/RJRYT/samp-socket-plugin?style=social)\n![GitHub all releases](https://img.shields.io/github/downloads/RJRYT/samp-socket-plugin/total?label=downloads)\n\nA fast and minimal socket plugin for SA-MP (San Andreas Multiplayer), designed to run without SSL and provide simple TCP/UDP communication capabilities for SA-MP scripts.\n\n---\n\n## Features\n\n* Lightweight \u0026 minimal\n* SSL-free build (for security-paranoid or minimalist environments)\n* Easy to compile on Linux and Windows\n* Compatible with most modern AMX-based SA-MP scripts\n\n---\n\n### Why I Built This Version\n\nThe original BlueG Socket plugin had a major drawback — it relied on OpenSSL (`libcrypto`, `libeay32.dll`, `ssleay32.dll`) which caused runtime issues on both Linux and Windows:\n\n#### 🐧 Linux Issue\n\n```ini\nFailed (libcrypto.so.0.9.8: cannot open shared object file: No such file or directory)\n```\n\n#### 🪟 Windows Issue\n\n```ini\nThis application failed to start because libeay32.dll and ssleay32.dll were not found.\n```\n\nThese external dependencies were either missing, incompatible, or flagged by antivirus software. Most users had no idea how to get the right versions or where to place them.\n\n### ✅ The Solution\n\nI rebuilt the plugin from source and **completely removed OpenSSL**, eliminating these issues:\n\n* 🚫 No more `libcrypto` dependency on Linux\n* 🚫 No more `libeay32.dll` / `ssleay32.dll` needed on Windows\n* ✅ Just drop the plugin and it works — no DLLs, no errors, no headaches\n\nThis makes the plugin **lightweight**, **portable**, and **production-ready**, especially for custom backend communication (e.g., Node.js, Python, etc.).\n\nBuilt to make your SA-MP experience smoother. 💡\n\n---\n\n## Installation\n\n### Prerequisites\n\n* **SA-MP Server** (0.3.7 or later)\n* **Visual C++ Redistributable** (if using Windows DLL)\n* **`socket.inc`**: Place it in your `pawno/include` folder\n\n### Windows (x86)\n\n1. Download the latest `socket.dll` from the [Releases](https://github.com/RJRYT/samp-socket-plugin/releases) page.\n2. Copy `socket.dll` to your SA-MP server's `plugins` folder\n3. Copy `socket.inc` to `pawno/include/`\n4. Add `socket` to your `server.cfg` plugins line:\n\n   ```ini\n   plugins socket\n   ```\n\n### Linux (x86/x64)\n\n1. Download `socket.so` from the [Releases](https://github.com/RJRYT/samp-socket-plugin/releases) page.\n2. Copy `socket.so` to your `plugins` folder\n3. Copy `socket.inc` to `pawno/include/`\n4. Update `server.cfg`:\n\n   ```ini\n   plugins socket.so\n   ```\n\n\u003e Make sure the plugin file has execute permissions:\n\n```bash\nchmod +x plugins/socket.so\n```\n\n---\n\n## Build Guide\n\n### Linux\n\n#### Requirements\n\n* `g++`\n* `make`\n\n#### Steps\n\n```bash\ngit clone https://github.com/RJRYT/samp-socket-plugin.git\ncd samp-socket-plugin/socket\nmake\n```\n\nOutput: `Release/socket.so`\n\n### Windows\n\n#### -Requirements\n\n* [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022)\n* `MSBuild` CLI (included in Build Tools)\n\n#### Build Steps\n\n```bash\ngit clone https://github.com/RJRYT/samp-socket-plugin.git\nmsbuild \"absolute\\path\\to\\socket.vcxproj\" /p:Configuration=Release /p:Platform=Win32\n```\n\nOutput: `Release/socket.dll`\n\n---\n\n## Usage\n\n```pawn\n#include \u003csocket\u003e\n\nnew Socket:g_socket;\n\npublic OnGameModeInit()\n{\n    g_socket = socket_create(TCP);\n    socket_connect(g_socket, \"127.0.0.1\", 7000);\n}\n\npublic onSocketAnswer(Socket:id, data[], data_len)\n{\n    printf(\"[TCP Server] %s\", data);\n}\n```\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See [LICENSE](./LICENSE) for more info.\n\n---\n\n## Credits\n\n* Original by [pBlueG](https://github.com/pBlueG/Socket)\n* SSL-free rebuild and cross-platform packaging by [RJRYT](https://github.com/RJRYT)\n\n---\n\n## Releases\n\nFind prebuilt binaries for Windows and Linux under [Releases](https://github.com/RJRYT/samp-socket-plugin/releases)\n\nWe recommend using GitHub Releases for cleaner version management without bloating the repo size.\n\n---\n\n## Contributing\n\nFeel free to fork and PR! For bugs, open a GitHub issue with detailed info. Contributions are always welcome.\n\n---\n\n## Contact\n\n* Discord: RJRYT\n* GitHub: [github.com/RJRYT](https://github.com/RJRYT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjryt%2Fsamp-socket-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frjryt%2Fsamp-socket-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjryt%2Fsamp-socket-plugin/lists"}