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/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.6.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: acore_soap_app-0.3.6.tar.gz
  • Upload date:
  • Size: 19.5 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.6.tar.gz
Algorithm Hash digest
SHA256 4c43f7a53c305181031cc07376601b55ccf30ba0a9ecd5baad6c301aff0801d8
MD5 63db01a29fa089f44c44ca38a06c1004
BLAKE2b-256 0a560fbb97aa44aa56333df9468c60bb6e3f6e24c747b6cd4c653ccc1d25b62b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: acore_soap_app-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.8

File hashes

Hashes for acore_soap_app-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f1af37d9b1023255f8391120c80cd634020899b3ead2796d0f29ee75170a2ecb
MD5 f0508d2ab647887dd99eab1d71e8d77f
BLAKE2b-256 6e29e1a00c07655e7403d64c4be8413804feb3528166522a55930ca227bd5505

See more details on using hashes here.

Supported by

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