Added serversession configurability and some other cleanup.

This commit is contained in:
Griatch 2015-01-07 18:37:27 +01:00
parent 2c46ede247
commit c2e15f33a3
4 changed files with 51 additions and 14 deletions

View file

@ -268,8 +268,8 @@ CMDSET_PATHS = ["commands"]
# Typeclasses and other paths # Typeclasses and other paths
###################################################################### ######################################################################
# Server-side session class used. #TODO # Server-side session class used.
SERVER_SESSION_CLASS = "server.serversession.ServerSession" SERVER_SESSION_CLASS = "evennia.server.serversession.ServerSession"
# Base paths for typeclassed object classes. These paths must be # Base paths for typeclassed object classes. These paths must be
# defined relative evennia's root directory. They will be searched in # defined relative evennia's root directory. They will be searched in

View file

@ -5,11 +5,12 @@ This plugin module can define user-created services for the Portal to
start. start.
This module must handle all imports and setups required to start This module must handle all imports and setups required to start
twisted services (see examples in src/server/server.py). It must also twisted services (see examples in evennia.server.portal.portal). It
contain a function start_plugin_services(application). Evennia will must also contain a function start_plugin_services(application).
call this function with the main Portal application (so your services Evennia will call this function with the main Portal application (so
can be added to it). The function should not return anything. Plugin your services can be added to it). The function should not return
services are started last in the Portal startup process. anything. Plugin services are started last in the Portal startup
process.
""" """

View file

@ -2,14 +2,15 @@
Server plugin services Server plugin services
This plugin module can define user-created services for the Server to start. This plugin module can define user-created services for the Server to
start.
This module must handle all imports and setups required to start a twisted This module must handle all imports and setups required to start a
service (see examples in src/server/server.py). It must also contain a twisted service (see examples in evennia.server.server). It must also
function start_plugin_services(application). Evennia will call this function contain a function start_plugin_services(application). Evennia will
with the main Server application (so your services can be added to it). The call this function with the main Server application (so your services
function should not return anything. Plugin services are started last in can be added to it). The function should not return anything. Plugin
the Server startup process. services are started last in the Server startup process.
""" """

View file

@ -0,0 +1,35 @@
"""
ServerSession
The serversession is the Server-side in-memory representation of a
user connecting to the game. Evennia manages one Session per
connection to the game. So a user logged into the game with multiple
clients (if Evennia is configured to allow that) will have multiple
sessions tied to one Player object. All communication between Evennia
and the real-world user goes through the Session(s) associated with that user.
It should be noted that modifying the Session object is not usually
necessary except for the most custom and exotic designs - and even
then it might be enough to just add custom session-level commands to
the SessionCmdSet instead.
This module is not normally called. To tell Evennia to use the class
in this module instead of the default one, add the following to your
settings file:
SERVER_SESSION_CLASS = "server.conf.serversession.ServerSession"
"""
from evennia.server.serversession import ServerSession as BaseServerSession
class ServerSession(BaseServerSession):
"""
This class represents a player's session and is a template for
individual protocols to communicate with Evennia.
Each player gets one or more sessions assigned to them whenever they connect
to the game server. All communication between game and player goes
through their session(s).
"""
pass