nettoe [OPTIONS]


netToe is a console-based version of the classic game "Tic Tac Toe". It is playable against computer AI, against a player on the same machine, or against another player over the network.


-4, --ipv4

only IPv4 networking

-6, --ipv6

only IPv6 networking

-nc, --no-colors

disable colors

-nb, --no-beep

disable beeps

-h, --help

display usage hints, then exit

-v, --version

output version information, then exit


First decide who will host the game: you or your opponent. The hosting player must next do the following.

  • Start nettoe.

  • Pick the third option (Two players over network) of the Main Menu.

  • Choose the first option (Host the Game) at the Network Game Menu.

  • Type name, or nickname.

  • Communicate the IP address to the other player. Hostnames work, if registered. We hope you know how to get your own IP address.

  • Wait for the other player to connect to your host.

Now the other player, the one connecting to the game server, must:

  • Start nettoe.

  • Pick the third option (Two players over network) of the Main Menu.

  • Use the second option (Connect to a host) at the Network Game Menu.

  • Type name, or nickname.

  • Type the IP address of the server host, or its hostname. Examples include and ::1, or and localhost.

  • Wait for the game to start.

Enjoy yourselves. If you have any problem, just let us know.


netToe uses TCP port 7501 as listening port of the server engine, unless configured otherwise during build time. Use "nettoe -v" to display the configured port.

That port must therefore be usable as destination port over the network. Otherwise remote games would not be possible. For a local game this is of course mostly irrelevant, but filtering firewalls might intercept connections in general.


netToe offers a mode of play where the computer acts as opponent with some limited built-in abilities to simulate dynamic decisions. Three levels of AI strength are made available:

  • The weaker level first checks a small set of blocking moves, then some winning moves, and falls back to simple moves in a fixed priority order. Since neither set is adaptive, the computer is easily fooled.

  • The normal level uses slightly larger sets of moves at each step, but is most importantly playing more aggressively than the weaker level does. It happens in the sense that initial checks are for winning moves, only later falling back to blocking moves. This avoids some obvious counterfeit strategy by a human player.

  • The better of the three levels is implemented differently. Its first action is to scan a complete set of winning moves. That leading nowhere, it scans through all possible blocking moves, and finally falls back to an ordered list of simple moves. Since not even this level of play is using a look-ahead search, a human player can set up traps, but finding those already demands a fair amount of insight into the game!

There are plans for a further level using a look-ahead search of depth two. This would improve the usefulness of netToe as an educational tool. A further level, which is learning from past plays within each session, could also be an interesting enhancement.


The latest version of this program can be found at


Report bugs to <[email protected]>. For a list of known bugs, see the BUGS file in the netToe source package.


netToe is written by Gabriele Giorgetti <[email protected]> and by Mats Erik Andersson <[email protected]>.

This manual page was initially written by Andras Bali <[email protected]>, for the Debian GNU/Linux system, and was later rewritten by Gabriele Giorgetti to be distributed in the netToe source package.


Copyright © 2000,2001 Gabriele Giorgetti,

© 2001 Andras Bali,

© 2012,2013,2014 Mats Erik Andersson.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.