Telling Helix Server applications which port to connect to

The p4d service and Helix Server applications communicate with each other using TCP/IP. When p4d starts, it listens (by default) for plaintext connections on port 1666. Helix Server applications like p4 assume (also by default) that the corresponding p4d is located on a host named perforce, listening on port 1666, and that communications are performed in plaintext.

If p4d is to listen on a different host or port and/or use a different protocol, either specify the configuration with the -p protocol:host:port flag when you start p4d (as in, p4d -p ssl:perforce:1818), or by the contents of the P4PORT environment variable.

Plaintext communications are specified with tcp:host:port and SSL encryption is specified with ssl:port. (To use SSL, you must also supply or generate an x509 certificate and private key, and store them in a secure location on your server. See Using SSL to encrypt connections to a Helix Server for details.)

The preferred syntax for specifying the port is the following:

protocol:host:port

There are situations, for example if you are using multiple network cards, where you might want to specify the port on which to listen using syntax like the following:

P4PORT=ssl::1666

The use of the double colon directs the server to bind to all available network addresses and to listen on port 1666. This can be useful if the host has multiple network addresses.

Note

To enable IPv6 support, specify the wildcard address with two colons when starting p4d. For example:

$ p4d -p tcp64:[::]:1818

starts a Perforce service that listens for plaintext connections, on both IPv6 and IPv4 transports, on port 1818. Similarly,

$ p4d -p ssl64:[::]:1818

starts a Perforce service that requires SSL and listens on IPv6 and IPv4, and

$ p4d -p ssl6:[::]:1818

starts a Perforce service that requires SSL connections, and listens for IPv6 connections exclusively.

See IPv6 support and mixed networks for more information about IPv6 and IPv4 transports.

Unlike P4ROOT, the environment variable P4PORT is used by both the Perforce service and the Helix Server applications, so it must be set both on the machine that hosts the Perforce service and on individual user workstations.