| | Dedication |
| | Acknowledgments |
| | About the Author |
| | Letter from the Series Editor |
| | Introduction |
| | | History |
| | | MUD Design |
| | | Expectations |
| | | Book Layout |
| | | Let's Get Ready to Rumble |
| | Part ONE: The Basics |
| | | Chapter 1. Introduction to Network Programming |
| | | Why Learn the Basics? |
| | | History of Communication Networks in a Nutshell |
| | | IP Philosophy and Layered Hierarchy |
| | | Common Transport Protocols |
| | | Information on Networking Protocols |
| | | Summary |
| | | Chapter 2. Winsock/Berkeley Sockets Programming |
| | | Byte Ordering |
| | | What Is a Socket? |
| | | Sockets API |
| | | Domain Name System |
| | | Demo 2.1 Hello Internet Server |
| | | Demo 2.2 Hello Internet Client |
| | | Using select() to Avoid Multithreading |
| | | Demo 2.3 Hello Internet Server v2 |
| | | Demo 2.4 Hello Internet Client v2 |
| | | Summary |
| | | Chapter 3. Introduction to Multithreading |
| | | What Is Multithreading? |
| | | ThreadLib |
| | | Demo 3.1Basic Threading |
| | | Demo 3.2Yielding |
| | | ThreadLib Mutexes |
| | | Demo 3.3Mutexes |
| | | Summary |
| | | Chapter 4. The Basic Library |
| | | Big Numbers |
| | | What Time Is It? |
| | | Strings |
| | | Logging |
| | | Summary |
| | | Chapter 5. The Socket Library |
| | | Sockets API Wrapper Classes and Functions |
| | | Connections, Managers, and Policies, Oh My! |
| | | Summary |
| | | Chapter 6. Telnet Protocol and a Simple Chat Server |
| | | Telnet |
| | | ConnectionHandler Class |
| | | Creating a Telnet Protocol Class |
| | | Demo 6.2SimpleChat |
| | | Summary |
| | Part TWO: Creating a SimpleMUD |
| | | Chapter 7. Designing the SimpleMUD |
| | | Choosing Game Characteristics |
| | | Setting |
| | | Players |
| | | Items |
| | | Here There Be Dragons! |
| | | It's a Small World, After All |
| | | Come and See What's in Store |
| | | Mortal Combat |
| | | I Command Thee |
| | | Summary |
| | | Chapter 8. Items and Players |
| | | Groundwork |
| | | Logs |
| | | Attributes |
| | | Items |
| | | Populating Your Realm with Players |
| | | Handler Design |
| | | Demo 8.1The SimpleMUD Baseline: The Core, Players, and Items |
| | | Summary |
| | | Chapter 9. Maps, Stores, and Training Rooms |
| | | Adding New Features to the Baseline |
| | | Ch-Ch-Ch-Changes |
| | | Running the Improved SimpleMUD |
| | | Summary |
| | | Chapter 10. Enemies, Combat, and the Game Loop |
| | | Enemies and Enemy Templates |
| | | Databases |
| | | Game Loop |
| | | Game Additions |
| | | Running the Final Version |
| | | Summary |
| | Part THREE: Creating a BetterMUD |
| | | Chapter 11. The BetterMUD |
| | | Idea Behind the BetterMUD |
| | | Logic Modules |
| | | Overall Physical Design |
| | | Summary |
| | | Chapter 12. Entities, Accessors, and Databases |
| | | Basic Entity Concepts |
| | | Databases |
| | | Summary |
| | | Chapter 13. Entities and Databases Continued |
| | | Databanks |
| | | Entities |
| | | Databases |
| | | Accessors |
| | | Summary |
| | | Chapter 14. Scripts, Actions, Logic, and Commands |
| | | Scripts |
| | | Actions |
| | | Logic |
| | | Commands |
| | | Summary |
| | | Chapter 15. Game Logic |
| | | Game Module |
| | | Overall Module Design |
| | | The Meat of the Game |
| | | Main Function |
| | | Summary |
| | | Chapter 16. The Networking System |
| | | Files |
| | | A Better Design |
| | | A Better Telnet |
| | | Handler Design |
| | | Summary |
| | | Chapter 17. Python |
| | | Python Language |
| | | Integrating Python and C++ |
| | | BetterMUD's Python Library |
| | | Exposing C++ to Python |
| | | Exposing the BetterMUD to Python |
| | | Summary |
| | | Chapter 18. Making the Game |
| | | Login Script |
| | | Python Script Base Class |
| | | Command Scripts |
| | | Logic Scripts |
| | | Summary |
| | | Chapter 19. Conclusion |
| | | Picking Features |
| | | The Future |
| | | Resources |
| | | Concluding the Conclusion |
| | | Chapter 20. What's on the CD? |
| | | Libraries |
| | | The MUDs |
| | | The Goodies |
| | | Appendixes |
| | | Let's Get Ready to Rumble |