npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

allods-web-library

v0.0.0-alpha.1

Published

A powerful and modern web library for allods online servers

Downloads

19

Readme

ALLODS-WEB-LIBRARY

npm version build codecov npm downloads Merged PRs

About

This repository is a rework of the web library of Allods dedicated to all server owners that want a web technology more newest and better than PHP. We (especially @paulus-allods) have also reworks the API Core in JAVA to change from Hessian Protocol to JSON Rest. This will allows an easiest use of the web library to control your game server.

What you'll be able to do ?

  • Control Account : Create, Update, Sanctions, Collection Editions Management
  • Control Game Server : define maxUsersOnShard limit

More incoming (BillingServer API, GameTool & LogServer and much more) !

Warning

This web library should be used only on a localhost environment. You should also close all game API ports. If you use it through a public IP or do not close these ports, EVERYBODY will be able to use the full API, so be really careful with this.

(if needed by some server owners, we'll be able to provide a solution that will allows remote connection with gameTool, open a issue for that.)

How to start ?

Start by moving the jar files in the /jars folder into your gameServer/server_bin/jars (make a backup of those files before just in case). Start wanted server, and you can now use this web library to manipulate your game server.

Install allods-web-library package

npm i -s allods-web-library

Now create your .env file in your project with servers data variables : (this web library save these data into process.env, using dotenv package.)

ACCOUNT_SERVER_HOST=127.0.0.1
ACCOUNT_SERVER_PORT=9337
BILLING_SERVER_HOST=127.0.0.1
BILLING_SERVER_PORT=9336
...

Now you can call API Collection that you want like it :

const { Account, Billing, Item, GameTool, LogServer } = require('allods-web-library');

let user = new Account('username');
...

You also have access to the NetworkManager class of the library that allows you to make your own request to the api servers, useful if you want to create your own JAVA API endpoints or methods.

const { NetworkManager } = require('allods-web-library');

(async () => {
  let Request = new NetworkManager('Account');

  let avatars = Request
      .changeEndpoint('myOwnEndPoint-getAvatars')
      .get({ username: '' });
})();

API Collection

Here is the web API Collection of an Allods Game Server, with code examples to get those data with this web library (if not implemented, will shows request form data).

Account

  • POST - /createAccount
let Account = new Account('Username');
Account.create({
  password,
  accessLevel,
  accountStatus
});
  • POST - /accountDetails
let Account = new Account('Username');
Account.get().then(accountData => accountData);
  • POST - /accountStatus
let Account = new Account('Username');
Account.status().then(accountData => accountData);
  • POST - /accountInfo
{
  "userName": "userName"
}
  • POST - /checkPassword
let Account = new Account('Username');
Account.checkPassword('password').then(result => result);

Returns : {"status":"SUCCESS","reason":"OK"} or {"status":"FAILED","reason":"wrong password"}

  • PUT - /changePassword
let Account = new Account('Username');
Account.changePassword('newPassword').then(result => result);
  • PUT - /accountStatus
let Account = new Account('Username');
// Active or Inactive
Account.setStatus('Active').then(result => result);
  • PUT - /baseAccessLevel
let Account = new Account('Username');
// User, Master or Developer
Account.setBaseAccess('User').then(result => result);
  • PUT - /currentAccessLevel
let Account = new Account('Username');
// User, Master or Developer
Account.setCurrentAccess('User').then(result => result);

Sanction

  • POST - /sanctions
let Account = new Account('Username');
Account.Sanction().get().then(sanctions => sanctions);
// 

Returns: {"status":"SUCCESS","reason":"OK","sanctions":[]}

  • PUT - /sanctions
let Account = new Account('Username');
Account.Sanction().set({
  type: 'Ban', // Ban, Silence, PlayerTradeBan, TotalTradeBan
  reason: 'Sanction Reason',
  gmName: 'Game Master Nickname',
  expireTime: 'timestamp'
}).then(result => {
  console.log(result);
  Account.Sanction().get().then(sanctions => sanctions);
});
// {"status":"SUCCESS","reason":"OK"}
// {"status":"SUCCESS","reason":"OK","sanctions":[{"login":"Username","sanctionType":"Ban","isOn":true,"expireTime":1586965256,"reason":"Sanction Reason","gmName":"Game Master Nickname"}]}
  • DELETE - /sanctions
// NOTE : this will not hard delete the row in the db. It will updates the sanction with the new values you set below and with the flag column at 0

let Account = new Account('Username');
Account.Sanction().delete({
  type: 'Ban', // Which sanction type to remove ?
  reason: 'Sanction Removal Reason', // Reason of the deletion of the sanction
  gmName: 'Game Master who removed sanction', // name of the GM who delete the sanction
}).then(result => {
  console.log(result);
  Account.Sanction().get().then(sanctions => sanctions);
});
// {"status":"SUCCESS","reason":"OK"}
// {"status":"SUCCESS","reason":"OK","sanctions":[{"login":"Username","sanctionType":"Ban","isOn":false,"expireTime":1586965256,"reason":"Sanction Reason","gmName":"Game Master Nickname"}]}

Collection Editions

... soon