Jump to content

Recommended Posts

Posted

PSYCHOSTATS INSTALLATION TUTORIAL FOR WINDOWS

 

Introduction

PsychoStats version 3.x is very easy and quick to install on any system. It includes an online installation wizard that you run through your browser. Follow these simple steps and you'll be up and running in no time. This documentation is for VERSION 3.x. All documentation for version 2.x is gone. Upgrade to v3 as support for v2 is depreciated. People are often very confused about how PsychoStats actually works. PsychoStats is software that relies on other technologies such as a WebServer like Apache and a database server like MySQL. You must be familar with these types of servers in order to use PsychoStats. And you must have access to a web and mysql server.

 

There are 2 parts to PsychoStats:

- Backend Perl Scripts

The backend takes care of the actual log parsing and updates. This is where the primary "stats.pl" perl script is run to fetch, parse and record log data from the game server(s) into the database.

Note: The system that runs these updates (Windows or Linux) is what defines which archive you should download a nd install.

- Frontend PHP Website

The frontend takes care of the interface that the user actually see's and interacts with. This is a set of PHP pages that interact with the same database as the backend so users can view the stats online.

 

Minimum Requirements

 

- PHP v4.3 (or 5.0+)

- MySQL v4.1.11 (or v5.0+)

- Perl v5.8 (Windows users: ActivePerl 5.8+)

Required Perl modules

- DBI

- DBD::mysql

Optional Perl modules

- Net::SFTP - This is only required if you need to download logs via an SFTP server. Note: This module has a lot of extra dependencies. Too many to list here.

 

These requirements are the bare minimum that ensure PsychoStats will work. If you attempt to use older versions you run the risk of stats updates crashing or invalid statistics from being recorded. Users having problems with the software that are running older versions of these requirements can not be supported.

 

Download Psychostats

Download the current release from the PsychoStats Downloads. Be sure to download the Windows archive.

 

Installation

Unzip the archive somewhere on your system. It does not matter where you do this. It's not required (nor desirable) to put this directory inside your web server directory root. Having the full unzipped archive in your web server's document tree means that users could potentially view your stats.cfg and get your database information.

 

Before you can run the Installation Wizard to finalize your installation you need to copy the frontend web files to your web server. This should be the only manual part of the installation you have to perform.

 

Most users running web servers on Windows tend to use the IIS web server from Microsoft. The document root for IIS is usually something like: c:\wwwroot. Thats the directory where you want to copy the PsychoStats web directory into.

# Browse to the PsychoStats directory from the archive you unzipped.

# Right click on the upload directory and select "Copy".

# Browse to the document root of your website (ie: c:\wwwroot).

# Right click somewhere in the window of that directory and select "Paste". The files should copy over in a few seconds.

 

You should now have the upload directory copied into your web server document root. You probably don't want that directory to stay with the name of upload. So rename it to something more meaningful like stats. You can right click on the directory and select "Rename" to change the name of it.

 

So in the end you should have a directory of something like: c:\wwwroot\stats and in that directory will be all the PHP files and sub-directories that make up the PsychoStats frontend website.

 

For example, to start the installation use a URL like this: http://www.yourdomain.com/stats/install/index.php

Be sure to use a proper domain name in the URL to where your website is actually hosted.

 

Edit the stats.cfg with the proper database settings so PsychoStats can connect to your database.

 

All Done! Now you just need to run the stats.pl to update your stats. If you have shell access on your server then just run:

 

./stats.pl -v

 

Credits:Same (From Linux Tutorial)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Kroma — Lineage II Interlude on LU4 Client (Latest client)   I'm selling this project. Here's what it actually is and what's been done.   This is a few months of work, most of it on the reverse engineering side. I built it because I wanted to open my own Interlude server on it. That's not happening any more — I've moved on to other projects and don't have the free time left to take it the rest of the way, so I'd rather it went to someone who will.   The idea was to take the modern LU4 client and make it run an Interlude version of the game. Not a reskin of an old client — the actual current client, playing Interlude, against a server I wrote. That's what this is, and it works end to end: the client boots, authenticates, connects, and you play. There are six repositories. Roughly, it splits into three kinds of work: reverse engineering the client, writing the server, and rebuilding the client's own content so it matches Interlude.   Fully reverse engineered   The client's protocol wasn't documented anywhere, so it was derived from scratch off real traffic. I built a sniffer (bypassing anticheat packet encryption) that drops into the client's binaries folder and dumps live traffic to disk, then a separate Java toolchain that decrypts those captures — login and game traffic, both directions. Everything the server knows about the protocol came out of that loop: capture, decrypt, read, implement, test against the real client.   On top of that there's a native x64 hook and injector in C++. It points the client at your own servers and handles its authentication and session layer, plus a few client-side stability fixes that were needed to keep it from falling over once it's talking to something that isn't the official backend. The hooking is pattern-based rather than address-based, so a client patch doesn't automatically break it.   The reverse-engineering notes are in the repos — the patterns, the disassembly, the decompiled functions, what each one does and why it's hooked. That documentation is a real part of what's being sold; it's the difference between inheriting a working system and inheriting a black box.   The server   Interlude ruleset, aCis lineage, but substantially rewritten and extended to speak the LU5 client's protocol with modern features like Party matching, Offline shops or Mailbox. The geodata has been updated according to some layout changes in LU4 cities. There's also a separate login server handling the client's auth flow.   Customized client to adapt to Interlude   This is the part people underestimate. The retail client ships retail content — retail NPCs, retail items, retail zones, retail UI. All of that had to be reshaped. The whole client-side pipeline is scripted: extract the retail PAKs, apply every edit from data files, rebuild, drop the result back into the game folder. 23 purpose-built C# tools, ~6,700 lines, organised into three pipelines that are guaranteed not to write over each other. There's a documented checklist for regenerating everything from scratch when a new patch drops. The important thing is that none of it is hand-editing. Every change is a line in a data file. When the client updates, you re-run the scripts instead of redoing the work from memory.   All NPC / item / drop lists updated according to Interlude   The client's own data tables were rewritten from the real Interlude client data files — `npcname-e`, `itemname-e`, `skillname-e`, `systemmsg-e`, `npcgrp`. That means roughly 6,470 NPC and skill name/title updates and about 4,000 Drops/Spoils rows written directly into the client's `NPCDataTable` and `SkillTable`, so the client shows Interlude names, Interlude item text, Interlude system messages, and Interlude drop and spoil lists. There are also custom NPC rows on top of that, plus 304 game action rewrites.   Opened the catacombs   In the LU4 client the catacombs and necropolises are unusable — flooded, unlit, and with holes in the geometry. All three were fixed: Water removed. Water exclusion volumes were placed over all 12 of them: Rifts, Apostate, Patriots, Devotion, Dark Omens, Heretics, Pilgrims, Saints, Worship, Martyr, Forbidden Path and Witch. This was more involved than it sounds — the volumes' scale is ignored at runtime, so the tool picks the best-fitting native template per hole, and nearby lakes and rivers are separate water bodies that have to be excluded individually or you get leftover water borders. Lights added. About 28,900 light definitions imported into the client's level files. Missing walls fixed. Mesh actors replaced and spawned to close the gaps in the geometry.   Removed the modern "slop" features from the UI   The LU4 client is full of things that have no business in an Interlude server, and most of them are wired into the UI. Those are stripped out: The assistant manager — the auto-hunt / auto-play slot on the XP bar Vitality*and the XP lock button The fatigue system — updated the format to a regular VIP format The in-game browser and in-game radio buttons The "Learn Skill" tab in the player skills window Removals are scripted by path, so they survive a client patch and are trivially reversible if a buyer wants any of them back.   Reworked the UI toward an actual Lineage II feel   The original LU4 UI looks AI-generated. It doesn't feel like Lineage II. A good part of it has been reworked toward the classic look — the menu button row rebuilt as a wrapping layout with a proper background, the self status and target windows cleaned up, and 590 asset field edits covering textures, positions, colours, text and compiled Blueprint literals.   This part is not finished, and I want to be straight about that But the tooling to continue it is all there, and it's the good kind of tooling: you can target any widget property in any UI asset by dotted path, remove widgets by path without knowing their auto-generated slot names, and edit text that's dynamically bound through Blueprint bytecode rather than stored as a plain property. Continuing the UI work means adding lines to a data file, not reverse engineering anything new.   Other client-side work   A custom login scene, built in a real Unreal Engine project that's included Interlude music restored, plus ambient sound work (cities only for now) Custom splash and branding   What's included   All six git repositories, the Unreal Engine project and its custom assets, all the tooling — injector, hook, sniffer, decryptor, asset editor — every data set including geodata, XML, HTML and the SQL schema, the build and repack scripts, and the per-repo technical documentation including the reverse-engineering notes.   Happy to answer questions or show it running.   Gallery
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..