Skip to content
Lloyd Dilley edited this page Sep 28, 2018 · 9 revisions

General

What is SEGS?

SEGS is the Super Entity Game Server. The project provides facilities for accounting, administration, authentication, authorization, logging, inter-component communication, storage, and more. The primary goal is to allow end-users to interface with SEGS using custom game clients. We also aim to support several other popular games. See our wiki for more details.

How is this different from ParagonChat?

PChat appears to be focused on providing an interactive chat environment using the CoX client. The chat platform they're building on will make things like combat extremely difficult, if not impossible. They are also working with the I23+ client currently. The SEGS team, on the other hand, is building a true server, designed to interface with multiple CoX clients. This will eventually allow for AI enemies and combat. Currently focusing on Issue 0 client, but with plans to eventually move to a newer client.

From a technical perspective, PChat is not an authoritative server, meaning it does not care what you tell it you're doing. A clever "hacker" can tell the server that he's wearing a Statesman costume and flying upside-down at superspeed, and the PChat server will just assume that's ok and send it out to all other clients. This poses some obvious challenges for combat and competitive types of play. In simplistic terms, PChat is a chat server that interprets client information to send back and forth, it really doesn't try to be more (yet?). PChat appears to be closed source.

SEGS however IS an authoritative server. This is the reason why we're still working on rubberbanding issues. The server must know what your character is doing at all times, and needs to ensure that you're allowed to do that. This means that both the server and client need to calculate interpolation for movement the same way. It needs to ensure your costume is legitimate and that you have the powers you're using. It makes development much more complicated, but also means that we can eventually have the game we all love and remember. Because SEGS is an actual c++ developed server, it also means that we can eventually have combat and AI and missions and etc.

What language is SEGS written in?

C++

Why C++?

Why not? C++ is a very popular, portable, performant, and featureful language.

How is SEGS licensed?

SEGS is licensed under the terms of the 3-clause BSD License.

Is SEGS extensible/scriptable?

At the moment, we have preliminary Lua support available. In the future, Lua scripts can be used to customize the behavior of SEGS.

What platforms does SEGS run on?

We've successfully built and executed SEGS on FreeBSD, Linux (Debian, CentOS, Fedora, RHEL, SUSE, Ubuntu, and other distributions), macOS, and Windows XP, 7, 8, 10.

What database backends does SEGS support?

SQLite (the default) and PostgreSQL

How do I create my own server?

Well, it’s not a complete server. More like 5%. By if you want to try what we have, you can download the Windows EXE file, or compile the code using QT Creator version 5.8+. Then using the I0 client, and an app to tell it what address to connect to, login, create a character and be in Atlas Park. More detailed instructions are in the README.

How do I build SEGS from source and what dependencies are required?

Please see the README.

Should I read the "Readme File?"

Yes. Several times. Commit it to memory. There will be a quiz next period.

Where might I obtain a working client?

We are currently working on our own client and do not distribute any commercial software. However, one popular game client known to be compatible with SEGS may be obtainable by feeding a BitTorrent client this link: magnet:?xt=urn:btih:c2e7e0aa72004594337d73ae6a305242e23d815f

What are some useful SEGS links?

How do I contact the developers or become involved in the community?

Join Discord and/or IRC and/or the forums.

I am not a programmer. How can I contribute?

Run SEGS, hunt for bugs, submit issues and feature requests, contribute documentation on the wiki, be a cheerleader, and be active on Discord and/or IRC and/or the forums. There are also usually non-programming or even beginning programming tasks referenced in the issues.

What network ports does SEGS utilize?

2106 (TCP), 7002 (UDP), and 7003 (UDP)

How can I browse the database?

We recommend SQLiteBrowser to browse the segs and segs_game databases. You can also use sqlite3 much like sqlplus or other CLI query programs. Here is more information on the CLI client.

Components (AuthServ, MapServ, GameServ, etc.)

Utilities (dbtool, piggtool, SLAV, etc.)

ToDo: More categories and Q&As to follow...

Clone this wiki locally