Local Perforce Tinkering

Aaron GomezAaron Gomez
3 min read

I've been setting up Helix Core in preparation for some game dev work. I am not a centralized vcs kind of guy, I love me my git and git loves me (sometimes). But git LFS just didn't seem up to snuff for the large binary demands of game development, so alas, I've resolved to aboard the Perforce train.

Fortunately, Helix Core is free for up to 5 users and 20(?) workspaces, which is perfect for my needs. Initially I'd planned to deploy it on AWS, but I hate AWS and it was a pain to get things going. Then I discovered they offer a droplet on Digital Ocean. Simple and done. Now on to configuration.

Luckily, they offer a nice configuration guide for Helix Core + Game Engine. I'll get to that eventually, but you know me, I love a deep dive and I hate entering commands I don't understand. So, I wanted to tinker with it locally without having to touch my droplet.

After following their p4 command line guide, I've come to understand a lot more. Especially how it differs from git (still wrapping my head around streams), but more importantly, I was able to use p4d to create a local instance and connect p4v (their GUI administrative tool counterpart to the p4 CLI).

Some of what I did

I won't outline everything but here's the basics, I'm working off of Kali so things will differ slightly from Windows or Mac.

Downloaded the helix core server. Then downloaded the various client tools in p4v, which gives you the GUI admin tool, but also other admin tools like p4admin, p4 CLI (the command line version of p4v), and p4merge. Anyways, extract these to some directory, I did /usr/local/share:

sudo tar xvzf helix-core-server.tgz -C /usr/local/share
sudo tar xvzf p4v.tgz -C /usr/local/share

I had to create a directory for what was extracted from p4v.tgz and move the contents there to keep things organized.

Then point a symbolic link to them from /usr/local/bin:

sudo ln -s /usr/local/share/p4cli/p4d /usr/local/bin/p4d
sudo ln -s /usr/local/share/p4cli/p4 /usr/local/bin/p4
# and so on

Then I was ready to create the working directory and start up the shared server as described in the p4guide. Since we're using localhost:1666, you can connect to that with p4v using localhost:1666 and the user, which you can get using the command p4 info.

Then just continue with the tutorials in the p4guide and the admin guide and other guides to experiment with different setups locally. I've yet to complete this process, but this is going to be my general approach to familiarize myself with Helix Core and different workflows.

Then when all is done and I feel comfortable with the tool and the planned workflow and setup, I'll move back over to working on the droplet via ssh (you can change to the admin perforce user once connected to the droplet). I'll also switch the p4v connection over to the droplet and setup the sync client for non-technical users.

0
Subscribe to my newsletter

Read articles from Aaron Gomez directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Aaron Gomez
Aaron Gomez