An open-source Minecraft: Java Edition server implementation, written in PHP.

Overview

PHPCraft

An open-source Minecraft: Java Edition server implementation, written in PHP.

What is PHPCraft?

PHPCraft is an open-source Minecraft: Java Edition server implementation, written in PHP.

That being said, PHPCraft is not intended to ever become a fully-functional, production-ready Minecraft server. It is simply a project that I work on for fun in my free time, because the idea of writing a Minecraft server implementation in PHP is just really amusing to me.

PHPCraft is a fork of Andrew Vy's HHVMCraft project.

※ Note: While HHVMCraft did (as the name would suggest) support HHVM, PHPCraft does not.


Which Minecraft versions are supported?

PHPCraft currently targets and supports Minecraft Beta b1.7.3 (Beta/pre-Netty Protocol 14), but you can connect to it with modern (Netty) Minecraft versions (1.8.9 and 1.7.10) using DirtMultiVersion, with support for all newer versions including 1.18.1 and 1.17.1 provided by ViaVersion (see below for screenshots!).

I would have targeted and supported a modern Minecraft version if I were writing PHPCraft from scratch today, but since this is based off of an existing project that already had a large amount of work done for b1.7.3 already… supporting a modern version would have pretty much required a full rewrite and would be a lot of work for what is again, just a project I'm doing for fun in my free time.

(Maybe if I ever somehow just have too much free time some day, perhaps… ;P)

※ Regarding Bedrock Edition clients connecting using Geyser: Geyser currently does not work correctly with PHPCraft for still-unknown reasons (all the blocks are invisible), despite the fact that Geyser does work just fine with DirtMultiVersion when connected to other servers (which means it's likely an issue in PHPCraft specifically).


Screenshots

A screenshot of Minecraft 1.17.1 connected to a PHPCraft server, showing a small house that was built from wood planks, a small pond, a tree, and various rose and dandelion flowers scattered about.

A Minecraft 1.17.1 client connected to a PHPCraft server using DirtMultiVersion (and ViaVersion). A Minecraft Beta b1.7.3 client was also connected to the PHPCraft server at the same time, viewing the same world.

(There are no doors or beds because those blocks do not work correctly yet in PHPCraft.)

A screenshot of Minecraft 1.17.1 connected to a PHPCraft server, showing the interior of a small house that was built from wood planks. It is later in the day, and the sunlight is filtering through the glass roof. There are two furnaces, some bookshelves, a crafting table, a music player, a chair (actually an oak stair block), and a single stone slab intended to represent a desk.

The same Minecraft 1.17.1 client connected to the same PHPCraft server, but at a later time of day.

More screenshots can be found in the screenshots folder that include more times of day, as well as screenshots of the Minecraft Beta b1.7.3 client that was also connected to the same PHPCraft server at the time.


How do I run PHPCraft?

Prerequisites

  • PHP 8.x (recommended, actively used in development) or PHP 7.4 to 7.2
    • brew install php on macOS (requires Homebrew to be installed)
    • sudo apt install php on Debian-based Linux distributions
    • PHP for Windows
      • The "Non Thread Safe" version is sufficient for our purposes, as PHPCraft only uses PHP on the CLI, and not as part of a web server.
  • Composer

Running PHPCraft

git clone https://github.com/akemin-dayo/PHPCraft.git
cd PHPCraft
composer install
php start.php # ./start.php also works

You can configure various options in start.php, including (but not limited to) both the server port (25565 by default) and the IP address to bind to (0.0.0.0 by default)!


Useful developer resources


License

Licensed under the MIT License.

You might also like...
A plugin that adds minions to your Minecraft Server
A plugin that adds minions to your Minecraft Server

BetterMinion A plugin that adds minions to your Minecraft Server ⚠️ This project is currently unfinished and needs some help! If you'd like to help us

A plugin that adds minions to your Minecraft Server
A plugin that adds minions to your Minecraft Server

BetterMinion A plugin that adds minions to your Minecraft Server ⚠️ This project is currently unfinished and needs some help! If you'd like to help us

NamelessMC is a free, easy to use & powerful website software for your Minecraft server, which includes a large range of features.
NamelessMC is a free, easy to use & powerful website software for your Minecraft server, which includes a large range of features.

NamelessMC is a free, easy to use & powerful website software for your Minecraft server, which includes a large range of features

Port of the Java Content Repository (JCR) to PHP.

PHP Content Repository PHPCR This repository contains interfaces for the PHPCR standard. The JSR-283 specification defines an API for a Content Reposi

Ip2region is a offline IP location library with accuracy rate of 99.9% and 0.0x millseconds searching performance. DB file is ONLY a few megabytes with all IP address stored. binding for Java,PHP,C,Python,Nodejs,Golang,C#,lua. Binary,B-tree,Memory searching algorithm

Ip2region是什么? ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java,php,c,python,nodejs,golang,c#等查询绑定和Binary,B树,内存三种查询算法。 Ip2region特性

High performance view templating API for PHP applications using tags & expressions inspired by Java JSTL and C compiler

View Language API Table of contents: About Expressions Tags Configuration Compilation Installation Unit Tests Examples Reference Guide About This API

A beautiful, fully open-source, tunneling service - written in pure PHP
A beautiful, fully open-source, tunneling service - written in pure PHP

Expose A completely open-source ngrok alternative - written in pure PHP. Documentation For installation instructions, in-depth usage and deployment de

A pure PHP implementation of the open Language Server Protocol. Provides static code analysis for PHP for any IDE.
A pure PHP implementation of the open Language Server Protocol. Provides static code analysis for PHP for any IDE.

A pure PHP implementation of the open Language Server Protocol. Provides static code analysis for PHP for any IDE.

Php-rpc-server - JSON RPC server implementation for PHP.

JSON RPC Server implementation for PHP. The json-rpc is a very simple protocol. You can see this by reading the protocol specification. This library i

Owner
Karen/あけみ
Karen/あけみ
An implementation of the Minecraft: Bedrock Edition protocol in PHP

BedrockProtocol An implementation of the Minecraft: Bedrock Edition protocol in PHP This library implements all of the packets in the Minecraft: Bedro

PMMP 94 Jan 6, 2023
YCOM Impersonate. Login as selected YCOM user 🧙‍♂️in frontend.

YCOM Impersonate Login as selected YCOM user in frontend. Features: Backend users with admin rights or YCOM[] rights, can be automatically logged in v

Friends Of REDAXO 17 Sep 12, 2022
A server software for Minecraft: Bedrock Edition in PHP

A highly customisable, open source server software for Minecraft: Bedrock Edition written in PHP Getting started Documentation Installation instructio

PMMP 3k Dec 31, 2022
A server software for Minecraft: Bedrock Edition in PHP

A server software for Minecraft: BE. This is a SPOON of PocketMine-MP Getting started Documentation Installation instructions Docker image Plugin repo

WolfMC 7 Jul 14, 2022
SteadFast3 Minecraft: Bedrock Edition Server Software

Steadfast3 is a server software that backports new Minecraft: Bedrock Edition versions to older PocketMine versions with better stability and performance, while retaining as many features from the new PocketMine-MP versions as possible.

null 5 May 21, 2022
CoarseMC Minecraft: Bedrock Edition Server Software

CoarseMC is a server software that backports new Minecraft: Bedrock Edition versions to older PocketMine versions with better stability and performance, while retaining as many features from the new PocketMine-MP versions as possible.

null 5 May 21, 2022
A MCPE server software that backporting new Minecraft: Bedrock Edition to older PocketMine versions with better stability and performance.

CoarseMC is a server software that backports new Minecraft: Bedrock Edition versions to older PocketMine versions with better stability and performance, while retaining as many features from the new PocketMine-MP versions as possible.

null 5 May 21, 2022
A game-mode for Minecraft: Bedrock Edition

HardCoreFactions This is an unpaid commission that was only released for educational purposes, consider using it as a reference rather than having it

Doge 3 Sep 8, 2021
An open source Minecraft server (true-og.net)

true-og An open source Minecraft server (true-og.net) Website forked from aviel900 https://www.spigotmc.org/resources/minecraft-one-page-template.5973

Alex Noyle 0 Nov 28, 2022
A Simplistic Plugin to Implement Server Claims to your Minecraft: Bedrock Server.

Claims This plugin allows administrators to create, edit, list, and teleport to land claims on a PocketMine server. These claims have a variety of cus

Santana 5 Jun 10, 2023