Evennia Documentation Release 0.9
Total Page:16
File Type:pdf, Size:1020Kb
Evennia Documentation Release 0.9 The Evennia community Jun 14, 2020 Contents 1 Evennia Introduction 3 1.1 Can I test it somewhere?.........................................4 1.2 Brief summary of features........................................4 1.3 What you need to know to work with Evennia..............................5 2 How To Get And Give Help 7 2.1 How to get Help.............................................7 2.2 How to give Help.............................................7 3 Contributing 9 3.1 Spreading the word............................................9 3.2 Donations.................................................9 3.3 Help with Documentation........................................9 3.4 Contributing through a forked repository................................ 10 3.5 Contributing with Patches........................................ 10 3.6 Contributing with Contribs........................................ 10 4 Soft Code 13 4.1 Examples of Softcode.......................................... 13 4.2 Problems with Softcode......................................... 14 4.3 Changing Times............................................. 14 4.4 Our Solution............................................... 14 4.5 Your Solution............................................... 15 5 Using MUX as a Standard 17 5.1 Documentation policy.......................................... 17 6 Game Planning 19 6.1 Planning (step 1)............................................. 19 6.2 Coding (step 2).............................................. 21 6.3 World Building (step 3)......................................... 22 6.4 Alpha Release.............................................. 22 6.5 Beta Release/Perpetual Beta....................................... 23 6.6 Congratulate yourself!.......................................... 23 7 Installation and setup 25 7.1 Getting Started.............................................. 25 i 7.2 Start Stop Reload............................................. 36 7.3 Choosing An SQL Server........................................ 40 7.4 Apache Config.............................................. 44 7.5 Updating Your Game........................................... 48 7.6 Server Conf................................................ 50 7.7 Online Setup............................................... 52 8 Admin Documentation 61 8.1 Banning.................................................. 61 8.2 IRC.................................................... 64 8.3 RSS.................................................... 65 8.4 Text Encodings.............................................. 66 8.5 Internationalization............................................ 67 8.6 Client Support Grid........................................... 69 9 Builder Documentation 73 9.1 Building Quickstart........................................... 73 9.2 TextTags................................................. 78 9.3 Building Permissions........................................... 83 9.4 Connection Screen............................................ 84 9.5 Batch Processors............................................. 85 9.6 Batch Command Processor........................................ 86 9.7 Batch Code Processor.......................................... 90 9.8 Spawner................................................. 93 9.9 Tutorial World Introduction....................................... 98 10 Developer Basics 101 10.1 Coding Introduction........................................... 101 10.2 Execute Python Code.......................................... 103 10.3 Quirks.................................................. 105 10.4 Licensing................................................. 107 11 Server Components 109 11.1 Directory Overview........................................... 109 11.2 Portal And Server............................................ 110 11.3 Sessions................................................. 111 11.4 Messagepath............................................... 114 11.5 OOB................................................... 118 11.6 Inputfuncs................................................ 121 11.7 Custom Protocols............................................. 125 11.8 Commands................................................ 129 11.9 Command Sets.............................................. 141 11.10 Typeclasses................................................ 147 11.11 Objects.................................................. 152 11.12 Scripts.................................................. 156 11.13 Accounts................................................. 163 11.14 Communications............................................. 165 11.15 Signals.................................................. 167 11.16 Attributes................................................. 169 11.17 Nicks................................................... 177 11.18 Advanced note.............................................. 178 11.19 Tags.................................................... 179 11.20 Locks................................................... 181 11.21 Permissions................................................ 186 11.22 Help System............................................... 190 ii 11.23 TickerHandler.............................................. 192 11.24 MonitorHandler............................................. 194 11.25 EvMenu................................................. 195 11.26 EvMore.................................................. 213 11.27 EvEditor................................................. 214 11.28 Web Features............................................... 217 12 Coding utilities 221 12.1 New Models............................................... 221 12.2 Coding Utils............................................... 225 12.3 Version Control.............................................. 230 12.4 Profiling................................................. 242 12.5 Unit Testing............................................... 245 12.6 Setting up PyCharm........................................... 251 12.7 Using Travis............................................... 257 12.8 Async Process.............................................. 258 13 Tutorials 263 13.1 Python basic introduction........................................ 263 13.2 First Steps Coding............................................ 267 13.3 Tutorial for basic MUSH like game................................... 272 13.4 Adding Command Tutorial........................................ 283 13.5 Adding Object Typeclass Tutorial.................................... 286 13.6 Command Prompt............................................ 288 13.7 NPC shop Tutorial............................................ 291 13.8 Static In Game Map........................................... 296 13.9 Dynamic In Game Map......................................... 303 13.10 Implementing a game rule system.................................... 311 13.11 Turn based Combat System....................................... 316 13.12 Evennia for roleplaying sessions..................................... 325 13.13 Zones................................................... 337 13.14 Command Duration........................................... 338 13.15 Command Cooldown........................................... 345 13.16 Mass and weight for objects....................................... 347 13.17 Default Exit Errors............................................ 349 13.18 Gametime Tutorial............................................ 351 13.19 Coordinates................................................ 356 13.20 Dialogues in events............................................ 362 13.21 A voice operated elevator using events................................. 366 13.22 Add a simple new web page....................................... 374 13.23 Web Tutorial............................................... 376 13.24 Web Character View Tutorial...................................... 378 13.25 Help System Tutorial........................................... 381 13.26 Add a wiki on your website....................................... 389 13.27 Web Character Generation........................................ 394 13.28 Bootstrap & Evennia........................................... 404 13.29 Bootstrap Components and Utilities................................... 406 13.30 Evennia for Diku Users......................................... 408 13.31 Evennia for MUSH Users........................................ 411 14 Appendix 415 14.1 Links................................................... 415 14.2 Default Command Help......................................... 418 14.3 Evennia Devel.............................................. 467 iii iv Evennia Documentation, Release 0.9 This is the manual of Evennia, the open source Python MU* creation system. You should hopefully find all you need to know about coding with, extending and using the code base among these pages. If you have further questions you are welcome to ask them in the Developer online chat or, if you don’t have time to hang around for an answer, on the Mailing list. Please note that this ReadTheDocs version of the documentation is auto-converted from the original documentation found in the Evennia wiki. It represents the wiki as it looked on Saturday March 28, 2020, at 09:29 (GMT+1). The converted version is supplied as a service for those wanting to have access to the documentation in an offline format, on their tablet or printed on paper. The conversion unfortunately means that there are occational