Skip to main content

Azerothcore World of Warcraft Soap Remote Access Python Library.

Project description

Documentation Status https://github.com/MacHu-GWU/acore_soap_app-project/actions/workflows/main.yml/badge.svg https://codecov.io/gh/MacHu-GWU/acore_soap_app-project/branch/main/graph/badge.svg https://img.shields.io/pypi/v/acore-soap-app.svg https://img.shields.io/pypi/l/acore-soap-app.svg https://img.shields.io/pypi/pyversions/acore-soap-app.svg https://img.shields.io/badge/Release_History!--None.svg?style=social https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social https://img.shields.io/badge/Acore_Doc--None.svg?style=social&logo=readthedocs
https://img.shields.io/badge/Link-Document-blue.svg https://img.shields.io/badge/Link-API-blue.svg https://img.shields.io/badge/Link-Install-blue.svg https://img.shields.io/badge/Link-GitHub-blue.svg https://img.shields.io/badge/Link-Submit_Issue-blue.svg https://img.shields.io/badge/Link-Request_Feature-blue.svg https://img.shields.io/badge/Link-Download-blue.svg

Welcome to acore_soap_app Documentation

https://acore-soap-app.readthedocs.io/en/latest/_static/acore_soap_app-logo.png

azerothcore 魔兽世界服务器 自带一个类似于 Terminal 的交互式 Console. GM 可以在里面输入命令来创建账号, 修改密码, 封禁账号等, 例如 .account create $account $password. 你如果用 GM 账号登录游戏客户端, 你也可以在游戏内聊天框输入 GM 命令, 本质是一样的.

如果你希望像操作 Rest API 一样的远程执行命令, 以上两种方法就不太实用了. 一种你需要 SSH 到服务器上才能接触到 console, 一种你需要登录游戏客户端, 而客户端是没有我们需要的变成接口的. 而这种需求对于服务器维护者来说又是实实在在的. 例如服务器可能有一个官网, 让会员用户可以在网站上点击购买物品后, 游戏服务器就自动运行一条 GM 命令将物品发送到用户游戏角色的邮箱. 在这个例子里 GM 命令的发起端是 Web 服务器, 而运维的时候 GM 命令的发起端可以是任何东西, 例如 VM, Container, Lambda Function 等. 所以我们就需要一套机制能仅让有权限的人或机器远程执行 GM 命令. 这个需求对于长期的正式运营非常重要.

acore_soap_app 项目就是一个针对这个需求的完整解决方案. 它包含两个组件 AgentSDK.

  • Agent: 提供了一个部署在游戏服务器 EC2 上的命令行程序, 作为外部 API 调用的桥梁. 使得外部有权限的开发者可以通过 AWS SSM Run Command 远程调用这个命令行程序, 从而实现远程执行 GM 命令.

  • SDK: 提供了一套远程运行服务器命令的 SDK, 并提供了很多高级功能例如批量执行, 错误处理等功能. 使得开发者可以很方便的编写出基于 GM 命令的应用程序.

在 EC2 上安装完 Agent 之后, 你可以用下面的命令测试.

/home/ubuntu/git_repos/acore_soap_app-project/.venv/bin/acsoap gm ".server info"

Install

acore_soap_app is released on PyPI, so all you need is to:

$ pip install acore-soap-app

To upgrade to latest version:

$ pip install --upgrade acore-soap-app

There are two installation mode, Agent mode and SDK mode.

  1. If you want to install acore_soap_app as an Agent on game server, you should install it in Agent mode. The dependency in Agent mode is deterministic (very restrict), so that it gives you a stable dependency layer for production.

  2. If you want to import and use some APIs in acore_soap_app, you should install it in SDK mode. The dependency in SDK mode is loss.

App Mode:

$ pip install acore-soap-app

SDK Mode:

$ pip install acore-soap-app --no-deps
$ pip install -r /path/to/acore_soap_app-project/loss_req/requirements.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acore_soap_app-0.3.7.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

acore_soap_app-0.3.7-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file acore_soap_app-0.3.7.tar.gz.

File metadata

  • Download URL: acore_soap_app-0.3.7.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.8

File hashes

Hashes for acore_soap_app-0.3.7.tar.gz
Algorithm Hash digest
SHA256 407e2f58ea9b182b1e00fad74d9d0a3d6cbae7630bd0fce058e8c20403c5d69a
MD5 2c8a431b93fa5de02f69a9b69970d782
BLAKE2b-256 636ec3833fd61d2a82c56de01040d4b035ae4536a831f1d85bb396a3bc49d5b0

See more details on using hashes here.

File details

Details for the file acore_soap_app-0.3.7-py3-none-any.whl.

File metadata

File hashes

Hashes for acore_soap_app-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fc2f50133018ea4efd585ee30f1ed19fb53bed1b598b6e9fc627ff9d3ddccc9d
MD5 727c7ea85280c6e9db7064abd16297bd
BLAKE2b-256 3e227767e81c1cde76cbd429523f0c27d05912a5877f403f5cf8b755251474d2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page