Skip to main content

Mastermind Networking Lib

A networking lib designed to be simple to use.

Ian Mallett
Mastermind is a networking lib designed to be easy to use and robust. The name comes from the goal of this project, which was to make a program which is covertly behind all networking, making things run nice and smoothly with little user input.

I made this library partially for fun, partially for pyweek, partially for utility, and partly so I would know more about networking. Networking is a lot harder than you would think, so I have spent a past week or so developing this library, which should make the tricky stuff automatically done behind the scenes.

Includes fully customizable output for server and client events.

See Docs.txt for help on making networked programs.



Home Page


Mastermind Networking Lib 1.1.0 — 22 Aug, 2008

Mastermind Networking Lib 1.5.1 — 1 Sep, 2008

Mastermind Networking Lib 1.5.0 — 30 Aug, 2008

Mastermind Networking Lib 1.3.0 — 24 Aug, 2008

Mastermind Networking Lib 1.0.0 — 22 Aug, 2008

Mastermind Networking Lib 1.5.2 — 17 Jan, 2009

Mastermind Networking Lib 4.1.1 — 27 Dec, 2012

Mastermind Networking Lib 4.1.2 — 2 Jan, 2013

Mastermind Networking Lib 4.1.0 — 27 Dec, 2012

Mastermind Networking Lib 4.1.3 — 29 Jun, 2013

Mastermind Networking Lib 4.2.0 — 17 Oct, 2018 account Comments

  • Hugs from Jewland 2012-12-09 12:59:23

    awsome, thanks!

  • Neccarus 2012-12-27 21:05:38

    Lol, the chat windows look very similar to mine. I will probably check this out though, I started up my own little networking projects and am interested to see how you are handling certain things. :)

  • Ozminer 2013-05-02 08:56:03

    Do you mind if I use this for my games networking and I will try help u I will use two versions of it 1. I want to use it to send positions and display it on another computer quite hard but I can do it 2. Reason chat for my game

    Ian Mallett 2013-06-29 19:46:36

    Please go ahead and use the library (that's what it's here for)! Mastermind is capable of sending arbitrary data across a network--anything stored in RAM. This means, for example, that entire Python data structures (classes, lists, dictionaries, etc.) can be sent. You should look at the included examples for guidance.

  • Anonymous 2013-05-17 23:39:27

    How do I make the program communicate between two computers?

    Ian Mallett 2013-06-29 19:43:50

    See the included examples.

  • J 2014-08-01 05:31:40

    Whenever I call server.accepting_allow() it freezes the program. What am I doing wrong?

    Ian Mallett 2018-10-17 02:28:53.742248

    `.accepting_allow()` starts a new thread to handle accepting new connections, and I can neither reproduce the problem nor see how it could occur. Did you perhaps mean `.accepting_allow_wait_forever()`, which does block the main thread (it's supposed to)? Feel free to email with a more-complete problem description.
  • Cokai 2015-12-01 14:01:48

    Thank you a lot for this library. I love you. :D

  • dag mad 2019-01-16 15:19:26.606054

    theres a library for 2018 ive always wanted to make a multiplayer game thanks to you i can