Welcome!

Join our community of MMORPG enthusiasts and private server developers! By registering, you'll gain access to in-depth discussions on source codes, binaries, and the latest developments in MMORPG server files. Collaborate with like-minded individuals, explore tutorials, and share insights on building and optimizing private servers. Join us today and unlock the full potential of MMORPG server development!

Join Today!

F.A.Q. (Please read and follow before asking for help)

Status
Not open for further replies.
Joined
May 26, 2007
Messages
5,544
Reaction score
1,315
Location
UK
[SIZE=+2]Priston Tale pServer F.A.Q.[/SIZE]​

This document attempts to answer many of the questions which are asked time and time again, despite our asking that people search for similar questions and read the responses before posting.

The problem with many is that the question does not have a single, satisfying answer... but please read, as I will try to explain why. It's usually because the question makes a simple, logical assumption which does not apply to Priston Tale, (at least, as it stands) or because people believe that something should be possible (everything is possible) when in fact, we do not have the means to make it so in practical terms.

Q: What is Priston Tale?
A:
Q: How are PT Servers Developed
A:
Q: What files do I need to run a PT Server?
A: Assuming you are not planning on using an emulator ...
Q: What is the latest, fastest, best, most stable, complete and / or feature rich PT Server? Where can I find it?
A: What ever it is you are looking for,
Q: Can I run my PT Server on Linux?
A:
Q: Can I use MySQL, Postgress, DBase or Oracle etc?
A:
Q: How do I set up a PT server?
A: Read , and , and
Q: I'm having trouble using Window Vista / 7 / 2008 x64 for my server. Why?
A:
Q: Why doesn't my client connect to my server?
A:
Q: Okay, my server runs but I can't get Clans / Bless / SoD Scores, why?
A:
Q: My server runs fine at first, but it keeps crashing. Why?
A: The most common cause is
Q: I can log in, but my friends can't connect to my server. Why?
A:
Q: How do I play in a Window, or as a GM?
A:
Q: I'm going to make an Über server for everyone. What specs do I need?
A: You need
Q: That's silly. Are you saying I can run a PT server from my 5 year old laptop?
A: In all probability,
Q: I keep getting disconnected / "DC(4)" message, why?
A: You are probably .​
Q: Why do we use clients in Korean? I want an English / French / Spanish / Brazilian etc. Client.
A: The , and much of it's internals, in any language version, are still in Korean.​
Q: How do I read the Korean in the client, server and configuration / server asset files? I don't use a Korean PC!
A: I have , as fully as I can in .​
Q: What programming language is PT written in? What language should I learn to develop a PT server?
A: . (Officially labelled .Net, 2002 or 2003, but it isn't a .Net program)​
Q: My server is being raped by hackers and cheats, how do I stop them?
A: Yes,
Q: How can I run faster / fly / attack things before they can attack me / enable "god mode" / be invincible / get 1 hit kills on players or higher level monsters / become invisible / create items from thin air / duplicate items / level up with each kill etc. without being an Admin / GM? Or be a GM on someone elses' server without them making me one?
A: [highlight] [/highlight]​
Q: I have another question. Can I just ask?
A:
Thanks.
 
Last edited:
What is Priston Tale?

A: Priston Tale is a fantasy CRPG MMO. (Combat based Role Playing Game - Massively Multi-player On-line)
It was quite probably originally developed as a video game project by Korean students. They (certainly someone) developed a peer-based network CRPG game, and sold the code on to a company who developed it into a Client - Server model which could be used on the internet as an MMO.

What is a "peer-based network CRPG"? Well, you may have played other games where one player on the network can "Host" a game, and other players can join them in what seems to be the same game world. However, nobody on the network needs to run a "Server". This is the sort of set-up they created. Effectively, the player (peer) who "hosts" the game, is running the server. But the server software isn't a separate program, it's part of the game client.​


(should get something more "current" up, but these where convention and TV promotions from around the world around various launch times... circa 2003?)
 
Last edited:
How are PT Servers Developed

A: There are some basic Server Emulators, but most servers are based on a "leaked" Japanese server.
Chinese pServers (or possibly Thia ones, depending on your politics) discovered and developed the jPT (Japanese) server to a point where it was usable, but most PT clients still have large amounts of PT Server code left in them from the time when PT was just a network game which needed no server.

Some people believe that the server we use was a poorly secured backup, while others have shown that you can make a functioning server by placing all of the leaked server code from several clients into one client, and that that client will then operate as an effective server, as capable as the 4096 server.

If you do this with early EPT Beta (Pre-AOR / Pre-Morrion) clients, the server claims to be 3192 server. The client version will still depend on what client you used as the base to import other leaked server code into. :wink:

The initial server side only assets and databases clearly do come from a very old official server however. So at least some of the full server setup has been taken from official servers. I don't think anyone could have reproduced so accurate a facsimile through guesswork and reverse engineering alone.

[highlight]We do not have any source code[/highlight] for that main server executable. (except reversed segments of x86 assembler, or re-workings of it in higher languages like C or C++) So all development of the actual server program can only be done by RCE (Reverse Code Engineering) and patching the binary executable. (again, either in x86 assembly language, or by linking in compilations from another high-level language which does compile to x86 machine code)​
 
Last edited:
What files do I need to run a PT Server?

A: Assuming you are not planning on using an emulator, you need:-

  • A complete server repack (many releases are updates or additions for an existing server ... this was about the first, and still the most complete and stable release :wink:)
  • A matching client executable (you may like to check and let us know if links die)
  • Assets for that client (preferably in your own language ... they are all available in the official downloads, but may be named or located wrong for the executable you have)
  • Microsoft SQL Server (A known working version can be downloaded )
  • A Microsoft Windows NT5+ (XP/2K/2K3) Operating System (preferably x86, though x64 can work, it can also be buggy as this was not an intended host OS)
You may also want to install Microsoft IIS if you wish to run a Clan system and the Bless Castle event. But Apache or other web servers can be used, if you are prepared to put a little more effort in. IIS will be on your official Windows install CD if you use any OS from XP onwards. It's missing from 2k Workstation, but included in any of the server options IMS.

[highlight]Don't use a pirated OS[/highlight], or, to be more specific, don't expect us to support one. (that's definitely not our job, and Microsoft won't support you if you don't pay them)​
 
Last edited:
What is the latest, fastest, best, most stable, complete and / or feature rich PT

A: What ever it is you are looking for, you can probably find an example here somewhere.
As to what is the latest, or best... that is always subjective.

All PT Servers are either a modified version of that jPT 4.00.8 (4096) server, some other adapted client (in the case of some of the Pre-AOR servers) or a server Emulator. There is also a more recent Chinese 1024 leak which was adapted for use on Vietnamese clients and later , but most developments and tutorials will not relate to offsets in this.

PT doesn't follow any single version number sequence, and repacks are developed in parallel... so there is no single "root" / "trunk" development for PT servers. Nobody can say what is the "newest", "latest stable" or "latest beta" or "latest development" branch. There simply is no root and branch / trunk and fork style development system for any PT server. Everything is a fork of a fork of a fork... and many forks are developed in parallel.

What is the most stable, is the easiest question to answer... The v4.00.8 (4096) jPT server we first got back in 2007 which only works on really really old Japanese clients is the most stable. :ott1: Every time we add a new feature, or change the server to work with a different client and so on, we introduce bugs and increase resource usage.​
 
Last edited:
Can I run my PT Server on Linux?

A: Not really, no.
You can run it under Wine, (we have had a Virtual Machine image with ) but the database connectivity doesn't usually work right, and things like Clan systems, as they stand will never work properly without it.

When we have a competing Server Emulator, porting to Linux may be practical. Until then, it is not an acceptable option for most people.

There is already a server on Java (which should work on Linux, but I don't know that it has been tested) and which will run on any platform which is supported by Mono and MySQL. However, they are still only developments and do not support enough features to be considered "playable" in any real sense.

Of course, you can run a Virtual Machine on your Mac or Linux system and run your PT Server on Windows as the Virtual Machines "Guest OS".​
 
Last edited:
Can I use MySQL, Postgress, DBase or Oracle etc?

A: Not traditionally but...
It's fair to say that it is possible, and when done it makes that Wine implementation under Linux much more practical, and it seems that making it your self entails considerable effort and skill.

There is now such an implementation included in Vormavs' Virtual Machine for MySQL only. He provides some information on doing it in true windows, and has plans to expand on the description. :D: We have much to thank him for, so please add your Likes and +Rep either of these developments have helped you. Thanks.​
 
Last edited:
How do I set up a PT server?

A: Read , and , and if you have trouble, start a thread.
State which part of what guide you are struggling to achieve. :D:

If you link to the thread with [thread=<thread_no>]this guide[/thread] tags, that will make it easier for people to refresh their memory about what you are trying to follow. When posted, it looks like this:-
NewPTAdmin said:
I'm trying to follow and having trouble with the bit that says "blah".
If you look at the URL in your browsers address bar for any thread, you can take the number following the last "-" as the thread= number.

eg. http://forum.ragezone.com/f286/dont-ask-server-client-use-482131/ would be [thread=[COLOR="#0000FF"]482131[/COLOR]].​
 
Last edited:
I'm having trouble using Window Vista / 7 / 2008 x64 for my server. Why?

A: Yes, you probably will.
Because the jPT server we usually develop was last compiled on the 28th October 2005, and such systems weren't available to build against or test on then. It had been developed to that point from a system that was (probably / possibly) written by college students more than 5 years earlier, (certainly no better qualified than college students ^_^) and contains many work-arounds to get it to run on systems as new as those!!!

The PT server (jPT 4096) is meant to be run on a Server OS, not a Home / Workstation one. It's also completely unaware of x64 processors. It works well on 2K/XP(x86) and 2K3 Server (x86)... the further you move away from those systems the more problems you will have. Several attempts to explain the many work-arounds have proven futile, as it seems that the way problems manifest, and the solutions which work are always different... sometimes even on a single system. :/:

Some members claim to have little or no problems, so they can't explain why others have many. Personally, I have many problems, but can sometimes overcome them. For preference I tend to stick to Svr 2K, where the one problem is .Net, and I know how to fix that; by installing the .Net SDK, not the end user redistributable. OS resource overhead is also at it's lowest on this OS. But availability (getting your hands on such an old OS) may well prove a problem for you.​
 
Last edited:
Why doesn't my client connect to my server?

A: There may be many reasons...
first of all, you should make sure that you are using . Then read , and follow . If you are still struggling to connect, post a new thread stating what you learned by following those guides.

There are several formats for the network packets (communication system) between PT Clients and Servers. They mostly follow the Language of the original client version... but since we've had to adapt the original jPT (Japanese) server to fit newer kPT (Korean) clients, pServers can often invent a completely new communication standard. Also, official servers in various language regions have modified their protocol (another way to say "the communication system") over the years.

Most server repacks either come with a client, or are supposed to be used with the Korean PT clients from around Version 1.87.3 or 1.85.5. That has pretty much become the standard communication system for open development, and KPT haven't changed it much since. (they added new crafting NPCs and some "premium" boost items which those old versions and most of our servers know nothing about, or use in a "custom" way and that's it *update* they also added Tier 5, which none of our servers can use, yet ^_^)​
 
Last edited:
I can't get Clans / Bless / SoD Scores, why?

A: All these things are connected.
SoD scores are Clan based, and Bless Castle Siege is all about the controlling Clan. So you need a Clan system, and that is separate from the regular PT server. Search the releases, the which is pinned is the most popular.

Actually, Clan information is passed to the client via your web server, and as the official developers use IIS, that is the easiest to set up. You may well have to alter URLs encoded in your client to make Clan work from your Web server, and Sandurrs' system polls information in the database at regular intervals in order to update the server side scripts which generate the pages that the PT client reads Clan and SoD (Bellatra) details from.

If you are keen to use Apache, there is an excellent Clan/SoD system based on Gregoos' IIS system which has the added potential to work without the background polling application. That part should also be possible with IIS. :D:

There are also a couple of "hotuk.ini" configuration settings to enable the Clan Master, if they aren't set, you don't get errors from him when your web server isn't set up correctly. So he's usually turned off by default. :wink:

There is an old guide about various common clan system bugs .​
 
Last edited:
My server runs fine, but it keeps crashing.

A: The most common cause is "timed / boss monster spawn" and a certain memory leak.
Commonly Kelvesu and Valento are often distributed with corrupt configuration files. I don't know why, just bad repacks I guess. Delete these monsters from your server and see if that fixes the problem. If it does, you should probably hunt for a repack with a working config file for these monsters, rather than trying to fix the broken ones.

If the crash is only once or twice a day, or every other day, with no specific interval or time of day, then the chances are that you are hitting a bug which seems to be present in most of the PT servers based on jPT 4096. It almost never happens on the original, but that isn't usually as popular. The PT server fragments memory quite badly as part of it's (poor) design, but as we've added monsters, maps, items, translations etc. this progressively reduces the resources available for it to make a mess of. XD I know some teams have managed to reduce this, but I don't know any who have solved it. Certainly, nobody has ever shared a solution with us.

[highlight]Many people think that having[/highlight] 6 - 8 Gig or [highlight]more RAM should solve this. They are wrong![/highlight] Remember that the PT Server is a 32-bit program, and that a 32-bit program can only address 4Gig. Windows will only get about 3 of that 4Gig for it's own use, and with the OS running you'll be lucky to get more than a couple for your server. Paging to the swap file will give it the impression that it has 3 Gig if you modify the PE to use more than 2Gig, but paging is slow!

If your server has more than 3Gig of memory, you are already working around the x64 problems, and PT is actually running in a Virtual x86 system, with overheads of it's own. This may even make the situation worse. (My experience suggests how much better or worse the situation becomes depends on the OS, Service Pack and most importantly the motherboard chipset and BIOS code... which in this day and age should really have very little to do with running applications, but...)

Most pServers with any population simply run the server under some form of re-starter, so that when the server crashes, it starts up again straight away. Cleaver ones try to set the server to shut down once or twice a day as part of a "regular maintenance regime". That way players get warning of the impending restart, and don't loose any kit or Exp. The server gets to clean it's fragmented memory blocks up and start again fresh once a day or so.

Several server repacks include which seems to be a fairly effective restarter and most still have the Server2048 which was the official restarter, but it's not very adaptable. Windows Vista, 2008 and 7 have restart options in the Task Scheduler.

To prove how simple it is to achieve a custom solution Tough shared an which he created for this purpose, and I shared a similar which I've used and can be expanded upon. Unlike the others, it will spot when the server has "hung" rather than completely crashed... but I've seen pServers solve this with PHP scripts too. So don't think these are the only solutions.​
 
Last edited:
I can log in, but my friends can't connect to my server.

A: Usually because you have set your server on your LAN IP.
You need to find out , and set your server up on that. Then you need to open or forward the correct port for your server in your modem. Or set up a Virtual LAN over the internet, set your servers listening IP to it's IP on that network and have your friends join that LAN before trying to connect.

Actually Opening or Forwarding ports is a function of a Router / Firewall. Most Modems now have one built-in, but the interface is always different, so you'll have to look up the details for your Modem / Router to find out how to do that. If you run a Software firewall on your Server PC, you'll need to open the port on that too, of course.

[highlight]All of this is off-topic for these forums[/highlight], as you would need to do this in order to allow public access to any service you run on your system anyway. To some extent, one has to ask if you are ready to run a PT server on the internet if you are struggling with this basic concept... maybe try to set up a Web or FTP server first. :wink:

The Port for PT is usually somewhere between 10006 and 10011. There are guides here to tell you how to find out which one your server is set to, (Eg. . Also see above for more) If it isn't in the documentation provided with the repack you downloaded, again, try and find a guide you understand, follow it and if you get stuck, or don't understand the results, start a new [help] thread citing (preferably linking) the guide(s) you read, what you recorded, what you think it means, and what you are struggling to do or understand. Will happily give you a hand from there. :D:​
 
How do I play in a Window, or as a GM?

A: Window mode is often only available to Admin users. (GMs)
Modifying a client to allow regular users to log in windowed is possible, and not particularly hard, (some of the official PT clients where released this way) but we haven't got around to writing a guide for it yet. To log in as a GM you need to set about 5 lines in your servers "hotuk.ini" and usually create a Korean ANSI file in the client folder, also called "hotuk.ini". It needs to have a couple of special lines.

There are several guides on this, but the actual lines for the client are often different in different clients. So the client you downloaded should have some documentation to say, or you need to look in it's code. I've written some advise on finding out what the Admin line is for a particular client if you have a search around.

Some clients (like the English one) actually have the code which allows Admin mode physically disabled, or removed. They don't usually do a very good job of it though, and even if it where completely removed, the design of the program means a good RCE worker can put it back in from another client.​
 
Last edited:
What specs do I need to make an Über server for everyone?

A: You need a Windows Dedi (Dedicated host) or VPS, (Virtual Private Server)
Preferably 2003 x86, with MS SQL and possibly IIS. Nothing much else matters except your bandwidth quota.

Remember the age of the program. You will hit the limits of the software (now over a decade old) long before you hit the limits of most modern server hardware.

You can easily run PT on a Windows 2000 server with 128 Meg (yes Megabytes) of memory and a single drive with only a couple of Gig free.

Such a system will not run out of resources before the software crashes anyway. But when you add Clans, a Web server, extra maps and have many players at a time... it will run slowly and create a large swap file. It may even seem to lock up at times. This still proves what you don't need to worry about. :wink:
 
Last edited:
I can run a PT server from my 5 year old laptop?

A: In all probability, you can.
Remember that laptops tend to switch off or over heat if you leave them running unattended though. I've used a Pentium II 750Mhz with 128Meg ram and a 8Meg PCI Graphics card to run a PT server though.

It was much easier to set up than a Core2 Quad with Server 2008 on it, and seemed to perform equally well with a low user count and no clan system.

I'm not saying you should do this, I'm just saying that most of the specs server rentals quote to draw you in are not important to you if all you want to do is host PT. Some of the things which will be (bandwidth, SQL support, ports and routing management, firewall control, physical up-time etc.) will not be listed at all. (isn't that always the way with such advertisements?)

Above all, probably the best thing to know when renting server space, is that you can count on your provider, and have good communication and friendly relationship. You don't want them to pull your game server the moment someone says "court order" without notifying you. You do want them to let you know if the hardware needs maintaining in a way that will affect your users. You do want them to be flexible if you need extra ports open, packet filters in place, IPs blocked etc. Are they happy for you to perform such blocks, do they want you to ask them to do it and if so can they do it in a timely manner. (If an IP is DDoSing you you want to stop it fast!) Talk to them, see who you get along with.​
 
Last edited:
I keep getting disconnected / "DC(4)" message.

A: You are probably over-powering.
Reduce Exp multiplier / damage etc. until they stop.

These disconnections are designed to prevent cheats... while this is your game, on your server, you are still effectively cheating the game.

There are ways which people have removed, or reduced the limits for the cheating disconnect with OllyDbg. But it is a hard job, and usually introduces other instabilities.

If you want to level quicker, it's usually easier, faster and safer to modify the table which relates experience to level. This must be done both to the client and the server, and each will calculate a "checksum" for the data table... but that's still a lot easier than finding the many places in code which the server and client boot the connection for excessive rewards.

If you want easier monsters, the simplest solution to that is to reduce the Absorption rate for each monster. There is a GM command to do this per-monster. But you can also do it from the data files in the server. Remember, if you kill too many high level monsters too fast, you will gain too much Exp too quickly again, and still hit the limit and disconnect.​
 
Why do we use clients in Korean?

A: The Koreans where the first to develop PT, and much of it's internals, in any language version, are still in Korean.
The Korean Clients also have the most game "features" of any client and tend to get new developments first. Finally, the Korean client is the least heavily protected and easiest to work on... both in terms of security measures against packet injection and reverse code engineering protection. (debugging, disassembling etc.)

I've always considered the Japanese PT clients to be equally simple to develop, but they do still lag a couple of months behind the Koreans in terms of feature release, and have the same MBCS (Multi-Byte Character System) problems for people working in languages with Latin Script.​
 
How do I read the Korean? I don't use a Korean PC!

A: I have tried to answer that, as fully as I can in .
Please try to post examples of configurations, if you think something is wrong, in Korean text, [highlight]not[/highlight] how ever it shows in your language.

I can often translate it back, but it can be very difficult for others, and depending on what language Windows is installed on our PC, the Korean characters will be turned into different characters on our system... so unless we stick to one form (overriding the default configuration for our system) it can be very confusing. You can only translate the commands if they are in Korean, so it makes sense to use that, where ever possible.​
 
Last edited:
What language should I learn to develop a PT server?

A: The server is compiled on Microsoft Visual C++ 7.1. (Officially labelled .Net, 2002 or 2003, but it isn't a .Net program)
To develop your PT server executable, you should understand Win32 x86 RCE principals. This means, you should understand x86 Assembler mnemonics, and be able to work in a low level debugger.

Most of us work primarily with OllyDbg. But SoftIce, IDA Pro, Immunity, WinDbg, PE Explorer, CFF Explorer and Syser are all good tools too. Many of us will use one or more of these in conjunction with Olly, because while they can provide more insight, or allow us to see relationships between code and data or interactions between functions more easily, only Olly makes writing back modifications to an executable a simple matter of in-line assemble / binary edit, copy to file dump, save the dump to a new file.

Beyond that... understanding how Microsoft Visual C++ creates x86 executable code from C++ source code is an invaluable skill, both for developing, and for communicating with other developers. Clearly, understanding C++ is advantageous.

You should also be aware, however, that much of the code in both the client and the server (as already stated, actually part of the same source project on the official developers system) is written as C, not C++. So many of the conventions and principals of well structured C++ are not followed in the source (which we don't have) and that affects the final x86 code in the executable. The point where C++ has to be used, for DirectX, ODBC and other such "new" APIs introduces a "cross-over" where much of the code you will see in your disassembler looks very messy indeed. Also, because the original project was written by students, (or equally untrained persons) and seems to have been to hard to understand and modify by the company that bought it, so it is actually written "badly" in many areas.

In other words, because there is a standard, well defined and commonly reproduced method of solving a problem, don't assume that that is the method PT uses... and if it isn't, don't assume there is a "good reason" for an alternative method to have been used. :wink:
 
Last edited:
Status
Not open for further replies.
Back