Private server for an unreleased MMORPG
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Add Shops.xml Mar 15, 2015
patchedDLLs Upload August 2014 patched DLLs Aug 11, 2014
src Fix compilation with MSVC Jan 28, 2015

LoE Private Server

This project is unmaintened and will not work on recent versions of the game. This is an open source Private Server, to play even when the official servers are closed. The official release is for Windows (x86 and x64). The server should work on Linux and Mac too, but you'll need to compile it yourself.


How to compile

- Download Qt 5.2.0 or later - Download the latest Private Server source snapshot - Extract zip archive with source snapshot into any desired directory - Open src\ in Qt - Press Ctrl+B (or Build button) to compile the project

How to compile a console version

- Open src\ in Qt - Open Projects on the left sidebar - Under Edit Build Configuration click Add->Clone Selected - Name it something like Console Release - Under Build Steps, expand qmake - In Additional Arguments, paste the following: `CONFIG+=console_only` - Press Ctrl+B (or Build button) to compile the project

How to use

Extract in the LoE game folder, start PrivateServer.exe and the game. In the game pick a name/password (no need to register first) Then use either : - the Local server, for singleplayer or a multiplayer LAN in your house - one of the Online servers, for multiplayer - You can also add your own servers in data/serversList.cfg

Still in Beta

The private server is still in beta, expect bugs. Patches and pull requests are welcome.
Some important features are still lacking at the moment : - Almost no monsters, and none of them can fight. - Not as many quests as the official servers. - No 'natural' items to collect (flowers, gems, ...)

Online private servers

The servers are run by independant volunteers.
Anyone can start a private server, and they are not all running the same version or following the same rules.
By default there is no chat filtering or moderation, the cutie marks are the ones of the official servers, and the quests/npcs are the ones on this repository.
But server owners are free to change this as they wish, and their servers might not always be 'safe for work'. You can find more informations on how to create/edit quests in the file QuestScript.txt.

Chat commands

- /stuck : Reloads and sends you to the spawn. Use it if you can't move. - unstuck me : Same than above. - :commands : Gives a list of chat commands - :roll : Roll a dice, result between 0 and 99 - :msg player msg : Sends a private message to a player - :names : Lists of the players on the server and where they are - :me action : States your current action - :tp location : Teleports your pony to this location (scene)

Server commands

You don't need any of those commands to play, but they might be usefull. setPeer is used to select a client. Most commands will only act on the selected client. For example if you're stuck, do setPeer with your IP and port, then do for example "load Cottage". - start/stop login : Starts and stops the login server - start/stop game : Starts and stops the game server - status : Prints status of the login and game servers - exit : Stops the server and exit. - clear : Clears the server's log. - listPeers : Give the list of all the clients (= other players) connected - setPeer : If there's only 1 client, select him for the other commands. If there's more than 1, use "setPeer IP port". - setPeer \ \ : Select the client at this IP and port. The other commands will act on the selected client. - disconnect : Kick the player with the message "Connection closed by the server admin". Does not ban. - load \ : Loads a scene (PonyVille, Cloudsdale, ...) and teleport to its spawn. See the list of scenes below. - getPos : Get the position (x, y, z) of the player. Often used with "move x y z". - getRot : Get the rotation (x, y, z, w) of the player. - move \ \ \ : Instantly teleport the player to the given position. Not a spell. You just move. - setStat \ \ : Set the given stat (health, mana, ..) to the given value. - setMaxStat \ \ : Set the max of the given stat (health, mana, ..) to the given value. - error \ : Sends a message-box-scroll-thingy to the player with the title "Error" and the given message. Doesn't disconnect.

The following commands are for debugging only. You really don't need them, and most of the time you don't want to use them.

  • sync : Syncs the position of all the clients now. Doesn't need setPeer to work.
  • sendPonies : For debugging only.
  • sendPonyData : For debugging only.
  • sendUtils3 : For debugging only.
  • setPlayerId <id> : For debugging only. Change the player's netview id.
  • remove <id> : For debugging only. Remove the entity with this netview id from the selected player's point of view.
  • instantiate : For debugging only. Spawns the player's body. Will clone the body if used repeatedly. May lag.
  • instantiate <key> <netview id> <view id> : Will spawn key (PlayerBase for a pony). If the Ids are already taken, bad things will happen.
  • instantiate <key> <netview id> <view id> <x> <y> <z> : Same than above but spawn at the given position.
  • instantiate <key> <netview id> <view id> <x> <y> <z> <rx> <ry> <rz>: Same than above but spawn at the given position and rotation.
  • beginDialog : For debugging only. Used when talking to NPCs.
  • endDialog : For debugging only. Used when talking to NPCs.
  • setDialogMsg <message> : For debugging only. Used when talking to NPCs.
  • dbgStressLoad : For debugging only. Load GemMine on all clients now.
  • listQuests : Lists the state of the player's quests
  • listInventory : Lists the items in the player's inventory
  • listWorn : Lists the items worn by the player's pony