Skip to main content

AdventureLand Python Client

This is meant to be a python client for the game Adventure Land - The Code MMORPG. It's heavily inspired by and based on earthiverse's typescript-based ALClient.

Currently a major work in progress; but the current state is available through pip for simple installation and use.

Requirements

This package currently requires aiohttp, aiosignal, async-timeout, attrs, bidict, charset-normalizer, frozenlist, idna, igraph, multidict, python-engineio, setuptools, texttables, ujson, and yarl. (Technially only some of these are dependencies of ALPC; others are dependencies of various dependencies).

All of these requirements are installable through pip, and their individual installations are also taken care of through the install of ALPC.

Installation

The PyPI page can be found here. In order to install, simply use pip like so:

Unix/Linux
python3 -m pip install --upgrade ALPC
Windows
py -m pip install --upgrade ALPC
  • Note: This package was developed with Python 3.10.4; therefore, I cannot guarantee that it will work with anything below that. In fact, due to current bugs, I cannot even guarantee that it will work perfectly with that.

Usage

  • First: be sure to install the package from PyPI using pip.
  • Second: create a credentials.json file like so (the 'mongo' parameter is optional for if you have a mongodb database that you'd like to link to the client):
{
    "email": "your_email@address.com",
    "password": "your_password",
    "mongo": "optional_mongo_uri"
}
  • Third: create a python file like so:
import aiohttp
import asyncio
import logging
import sys
import ALPC as AL

logging.root.setLevel(logging.INFO)

async def main():
    async with aiohttp.ClientSession() as session:
        print('Logging in...')
        await AL.Game.loginJSONFile(session, '..\credentials.json')
        print('Successfully logged in!')
        print('Getting G Data...')
        await AL.Game.getGData(session, True, True)
        print('Obtained G Data!')
        print('Preparing pathfinder...')
        await AL.Pathfinder.prepare(AL.Game.G)
        print('Pathfinder prepared!')
        print('Starting character...')
        char = await AL.Game.startCharacter(session, 'WarriorSurge', 'US', 'I')
        print('Moving to main...')
        await char.smartMove('main')
        print('Moving to halloween...')
        await char.smartMove('halloween')
        print('Moving to desertland...')
        await char.smartMove('desertland')
        print('Returning to main...')
        await char.smartMove('main')
        print('Disconnecting...')
        await char.disconnect()

# this part is technically only required if you're running on windows due to hinkyness involving windows OS and asyncio
if sys.platform == 'win32':
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())
  • Fourth: run your python file; you should get this as a result:
Logging in...
Successfully logged in!
Getting G Data...
Obtained G Data!
Preparing pathfinder...
Pathfinder prepared!
Starting character...
Moving to main...
Moving to halloween...
Moving to desertland...
Returning to main...
Disconnecting...

Version History

0.1.0: basic functionality; initial release 0.2.0: added all of the individual character classes 0.3.0: added database functionality

Final Notes

  • AS STATED, THIS PACKAGE IS STILL A WORK IN PROGRESS. If you have ANY issues at all or any suggestions or come accross any bugs, feel free to either submit them to the issues tab or submit your info to the existing issue if your bug/issue/suggestion is already there.
  • The current largest bug I have is as follows:
    1. Pathfinder takes FAR too long to prepare. We've sped it up by 3 seconds with the most recent update; but it's still not enough. Any help with bugs (both found and not found) would be very much appreciated.

Release files for ALPC 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ALPC 0.4.0
File Size Uploaded
ALPC-0.4.0.tar.gz 94.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ALPC 0.4.0
File Interpreter ABI Platform
ALPC-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 196.4 kB

Release files / ALPC-0.4.0.tar.gz

Download URL ALPC-0.4.0.tar.gz
Size 94.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ae4ecc70f3883916c1a9ed0de39518a15287c572617303b96a0a64c26701bb2e
BLAKE2b-256 checksum
How to use checksums
c787b7bdb257b12456a12676e11c2fe966d1f51102ad69a062c2620720b108df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release files / ALPC-0.4.0-py3-none-any.whl

Download URL ALPC-0.4.0-py3-none-any.whl
Size 102.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
29d49f94efbbbab8c3318785e45550b5bdd3da5a8811c2454f2bae7b0cedd023
BLAKE2b-256 checksum
How to use checksums
73f59d1aa9d42f62e475267e15635db23a86d0ab6a5965ee355ed8d7590f72cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page