<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.rplace.live/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=31.54.72.74</id>
	<title>rplace.live wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rplace.live/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=31.54.72.74"/>
	<link rel="alternate" type="text/html" href="https://wiki.rplace.live/Special:Contributions/31.54.72.74"/>
	<updated>2026-06-06T02:43:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0-alpha</generator>
	<entry>
		<id>https://wiki.rplace.live/index.php?title=Zekiahepic&amp;diff=868</id>
		<title>Zekiahepic</title>
		<link rel="alternate" type="text/html" href="https://wiki.rplace.live/index.php?title=Zekiahepic&amp;diff=868"/>
		<updated>2023-07-15T11:53:51Z</updated>

		<summary type="html">&lt;p&gt;31.54.72.74: Correze zekiahepic casing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;informbox&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | {{{subj|zekiahepic}}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | [[File:Zekiahepic discord profile picture.png|256px]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center&amp;quot;  | &amp;lt;small&amp;gt;{{{capt|The green default discord profile picture used by zekiahepic}}}&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Owner&lt;br /&gt;
| {{{leaders|[[of rplace.tk]]}}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The extremely overworked main developer of rplace.tk. Responsible for most of the updates that deviate from the base r/place game (and also 90% of the site bugs). Will say he is going to add a feature/carry out a moderation action/do l&#039;&#039;&#039;i&#039;&#039;&#039;terally anything then procee&#039;&#039;&#039;d&#039;&#039;&#039; to disappear from ex&#039;&#039;&#039;i&#039;&#039;&#039;stence or ghost whoever asked. Has his discord permanently set to display as offline because he is too scared to go on and face all the players waiting for him to deliver things he told them he would carry out. Supreme internet troll and will intentionally work &#039;&#039;&#039;o&#039;&#039;&#039;n things nobody has asked for out of spite. Has been earning negative money since the project started and is about £50 behind in AWS invoices, ignoring about 100 emails from amazon to pay (his accoun&#039;&#039;&#039;t&#039;&#039;&#039; got terminated forcing rplace to have to make a server migration).&lt;br /&gt;
&lt;br /&gt;
&amp;quot;There is no country in the world that has wages even 1% as low as what I earn from working on rplace&amp;quot; - Zekiahepic 15/07/2023&lt;/div&gt;</summary>
		<author><name>31.54.72.74</name></author>
	</entry>
	<entry>
		<id>https://wiki.rplace.live/index.php?title=Development&amp;diff=217</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.rplace.live/index.php?title=Development&amp;diff=217"/>
		<updated>2023-07-15T02:53:50Z</updated>

		<summary type="html">&lt;p&gt;31.54.72.74: /* Chat packet */Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;rplace.tk has had a rocky development history. With such a high demand for different things, features have remained broken, scrapped or non-existent for long periods of time. Despite these issues, with the 10+ contributors to the main project, lead mostly by zekiahepic, and initially BlobKat. The site has found a relatively stable update cycle, with new features, fixes and bug improvements appearing each fortnight.&lt;br /&gt;
&lt;br /&gt;
= The game protocol =&lt;br /&gt;
The site was initially coded within a day, and main development, jump started by BlobKat over three. This has had many long lasting impacts on the site, resulting in some development decisions that made sense for that short term period, but have proved very complicated and confusing in the long term. One of the biggest impacts was the choice to use &amp;quot;git and changes system&amp;quot;, for syncing the canvas between the client and server, while also ensuring minimal bandwidth on the hoster&#039;s behalf. Further complicated by the introduction of the new server software, RplaceServer, which chose to use a completely new system, wherein the site is solely dependent on the monolithic server software, which handles both the socket live pixels, and hosting the canvas files directly for client consumption in a compressed form.&lt;br /&gt;
&lt;br /&gt;
== Packets ==&lt;br /&gt;
The site uses websocket for live client server communication. All packets are composed of an initial &#039;&#039;&#039;code&#039;&#039;&#039; byte, representing the type of the packet to be identified on the server, with all numberic packet data being formatted as big endian. &lt;br /&gt;
&lt;br /&gt;
=== Pixel packet: ===&lt;br /&gt;
The pixel packet is one of the simplest. It is a six byte packet, the first byte being the packet &#039;&#039;&#039;code,&#039;&#039;&#039; the second to 5th &lt;br /&gt;
bytes being &#039;&#039;&#039;position (board index)&#039;&#039;&#039; of the pixel, represented by a 4 byte unsigned 32 bit integer, and finally a byte representing the index of the &#039;&#039;&#039;colour&#039;&#039;&#039; in the palette that the pixel represents.&lt;br /&gt;
&lt;br /&gt;
One can retrieve the X and Y position from an given pixel index with some basic math. To get the X position, we do &#039;&#039;&#039;index % canvas_width&#039;&#039;&#039;, and to get the Y position &#039;&#039;&#039;floor(index / canvas_width)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Chat packet ===&lt;br /&gt;
The chat packet is the epitome of new features being bolted onto an old system, consisting of the first byte as the packet &#039;&#039;&#039;code&#039;&#039;&#039;, then the rest, UTF-8 formatted string data separated with newlines for each section of the message payload.&lt;br /&gt;
&lt;br /&gt;
This string data follows the following format as such for sending a packet from the client to the server:&lt;br /&gt;
 * Name*&lt;br /&gt;
 * Message*&lt;br /&gt;
 * Channel*&lt;br /&gt;
 * Type (&amp;quot;live&amp;quot;|&amp;quot;place&amp;quot;, optional, will default to live)&lt;br /&gt;
 * X (e.g. &amp;quot;1234&amp;quot;, optional, only needed if type == &amp;quot;place&amp;quot;)&lt;br /&gt;
 * Y (e.g. &amp;quot;5678&amp;quot;, optional, only needed if type == &amp;quot;place&amp;quot;, if X exists, Y must also)&lt;br /&gt;
&lt;br /&gt;
Most server softwares should reformat incomplete chat packets so that they can be correctly consumed by a client, but precautions should be taken by the client. When recieving a chat packet from the server, expect it to look like this:&lt;br /&gt;
 * Name (If a verified name system is being used, a ~ will be appended to the end of their name if using a verified name without authentication to show the client that they are likely impersonating, while a &amp;quot;✔&amp;quot; will be appended to alert the client that this is the verified owner of such name)&lt;br /&gt;
 * Message&lt;br /&gt;
 * Channel&lt;br /&gt;
 * Type&lt;br /&gt;
 * X&lt;br /&gt;
 * Y&lt;br /&gt;
 * Uid (A unique identifier for the chatter that is persistent across different usernames, etc. Most commonly based off a hash of the user&#039;s IP and used for moderation purposes)&lt;/div&gt;</summary>
		<author><name>31.54.72.74</name></author>
	</entry>
	<entry>
		<id>https://wiki.rplace.live/index.php?title=Development&amp;diff=216</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.rplace.live/index.php?title=Development&amp;diff=216"/>
		<updated>2023-07-15T02:52:37Z</updated>

		<summary type="html">&lt;p&gt;31.54.72.74: /* Packets */Implemented description for chat packet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;rplace.tk has had a rocky development history. With such a high demand for different things, features have remained broken, scrapped or non-existent for long periods of time. Despite these issues, with the 10+ contributors to the main project, lead mostly by zekiahepic, and initially BlobKat. The site has found a relatively stable update cycle, with new features, fixes and bug improvements appearing each fortnight.&lt;br /&gt;
&lt;br /&gt;
= The game protocol =&lt;br /&gt;
The site was initially coded within a day, and main development, jump started by BlobKat over three. This has had many long lasting impacts on the site, resulting in some development decisions that made sense for that short term period, but have proved very complicated and confusing in the long term. One of the biggest impacts was the choice to use &amp;quot;git and changes system&amp;quot;, for syncing the canvas between the client and server, while also ensuring minimal bandwidth on the hoster&#039;s behalf. Further complicated by the introduction of the new server software, RplaceServer, which chose to use a completely new system, wherein the site is solely dependent on the monolithic server software, which handles both the socket live pixels, and hosting the canvas files directly for client consumption in a compressed form.&lt;br /&gt;
&lt;br /&gt;
== Packets ==&lt;br /&gt;
The site uses websocket for live client server communication. All packets are composed of an initial &#039;&#039;&#039;code&#039;&#039;&#039; byte, representing the type of the packet to be identified on the server, with all numberic packet data being formatted as big endian. &lt;br /&gt;
&lt;br /&gt;
=== Pixel packet: ===&lt;br /&gt;
The pixel packet is one of the simplest. It is a six byte packet, the first byte being the packet &#039;&#039;&#039;code,&#039;&#039;&#039; the second to 5th &lt;br /&gt;
bytes being &#039;&#039;&#039;position (board index)&#039;&#039;&#039; of the pixel, represented by a 4 byte unsigned 32 bit integer, and finally a byte representing the index of the &#039;&#039;&#039;colour&#039;&#039;&#039; in the palette that the pixel represents.&lt;br /&gt;
&lt;br /&gt;
One can retrieve the X and Y position from an given pixel index with some basic math. To get the X position, we do &#039;&#039;&#039;index % canvas_width&#039;&#039;&#039;, and to get the Y position &#039;&#039;&#039;floor(index / canvas_width)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Chat packet ===&lt;br /&gt;
The chat packet is the epitome of new features being bolted onto an old system, consisting of the first byte as the packet &#039;&#039;&#039;code&#039;&#039;&#039;, then the rest, UTF-8 formatted string data separated with newlines for each section of the message payload.&lt;br /&gt;
&lt;br /&gt;
This string data follows the following format as such for sending a packet from the client to the server:&lt;br /&gt;
 * Name*&lt;br /&gt;
 * Message*&lt;br /&gt;
 * Channel*&lt;br /&gt;
 * Type (&amp;quot;live&amp;quot;|&amp;quot;place&amp;quot;, optional, will default to live)&lt;br /&gt;
 * X (e.g &amp;quot;1234&amp;quot;, optional, only needed if type == &amp;quot;place&amp;quot;)&lt;br /&gt;
 * Y (e.g. &amp;quot;5678&amp;quot;, O&lt;br /&gt;
optional, only needed if type == &amp;quot;place&amp;quot;, if X exists, Y must also)&lt;br /&gt;
&lt;br /&gt;
Most server softwares should reformat incomplete chat packets so that they can be correctly consumed by a client, but precautions should be taken by the client. When recieving a chat packet from the server, expect it to look like this:&lt;br /&gt;
 * Name (If a verified name system is being used, a ~ will be appended to the end of their name if using a verified name without authentication to show the client that they are likely impersonating, while a &amp;quot;✔&amp;quot; will be appended to alert the client that this is the verified owner of such name)&lt;br /&gt;
 * Message&lt;br /&gt;
 * Channel&lt;br /&gt;
 * Type&lt;br /&gt;
 * X&lt;br /&gt;
 * Y&lt;br /&gt;
 * Uid (A unique identifier for the chatter that is persistent across different usernames, etc. Most commonly based off a hash of the user&#039;s IP and used for moderation purposes)&lt;/div&gt;</summary>
		<author><name>31.54.72.74</name></author>
	</entry>
	<entry>
		<id>https://wiki.rplace.live/index.php?title=Rplace.tk&amp;diff=590</id>
		<title>Rplace.tk</title>
		<link rel="alternate" type="text/html" href="https://wiki.rplace.live/index.php?title=Rplace.tk&amp;diff=590"/>
		<updated>2023-07-15T02:29:09Z</updated>

		<summary type="html">&lt;p&gt;31.54.72.74: /* The rules */Fix bad reference format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;rplace.tk is a project with an intent to revive the original r/place 2022 experience. It was founded by BlobKat and Zekiah. The website has a little-known community with a very saturated history.&lt;br /&gt;
&lt;br /&gt;
[[File:Rplace UI.png|thumb|alt=Rplace main UI screenshot|Screenshot of the main rplace.tk user interface]]&lt;br /&gt;
&lt;br /&gt;
== Interface ==&lt;br /&gt;
=== Controls ===&lt;br /&gt;
When you enter the website for the first time, you enter the very center of Canvas 1. You may navigate the canvas by dragging the canvas with your mouse, clicking on a pixel to move to it, or by using the arrow keys. Pixels can be placed using the color selector, accessible by pressing the &amp;quot;Place a pixel&amp;quot; button at the bottom of the screen, or by using the key on the keyboard which corresponds with the color to be placed.&lt;br /&gt;
&lt;br /&gt;
=== Navigation ===&lt;br /&gt;
By selecting the triple-dot icon in the top left of the screen, a Reddit-inspired user interface is revealed, featuring links to other canvases, useful tools, as well as some other websites.&lt;br /&gt;
&lt;br /&gt;
==== Overlays ====&lt;br /&gt;
By pressing the &amp;quot;O&amp;quot; key, or by pressing the Overlay button in the navigator, an overlay menu can be accessed. A 1:1 scale drawing of a planned build must be uploaded in order for it to work properly. Parameters that may currently be changed are the overlay opacity and the coordinates of the top left corner of the overlay.&lt;br /&gt;
&lt;br /&gt;
==== Timelapses ====&lt;br /&gt;
A partially functioning timelapse tool is present on the website.&lt;br /&gt;
&lt;br /&gt;
==== Accounts ====&lt;br /&gt;
Account management was a short-lived feature of rplace.tk. It was removed due to its lack of functionality for the time. Plenty of features are available if you register, e.g. a dashboard for self-hosted canvases, though you were unable to register.&lt;br /&gt;
&lt;br /&gt;
== Development history ==&lt;br /&gt;
The website was launched on 5 April, 2022, shortly after the r/place event, as a rehabilitation and continuation of it.&lt;br /&gt;
&lt;br /&gt;
== The rules ==&lt;br /&gt;
&amp;quot;You may not use more than one bot&amp;quot;&amp;lt;ref&amp;gt;&amp;quot;Bots are allowed on this site, as long as they follow the rules, this means that they only place 1 tile per the time limit, and do not make use of any proxies or VPNs, or botnets of multiple devices (multiple bots all controlled by one machine/repo) to operate. Please use common sense, botting a massive area just to grief or print scams is obviously not going to fly and will be removed.&lt;br /&gt;
Keep in mind we are not liable for any damage or malware you receive due to the use of a community bot, we recommend that you only make use of bots if they are trusted and open source, and you do so at your own risk.&amp;quot; (zekiahepic [https://discord.com/channels/960966748289507338/960970134313373777/960986507391434762 on the discord info-rules channel])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the early months rplace.tk staff would often perform rollbacks due to mass scale botting, or the construction of nazi/nsfw content, however with the deprecation of the moderation tools, and a general loosening on the rules, such moderation was eventually relegated to players self erasing such content by placing pixels over.&lt;br /&gt;
&lt;br /&gt;
== References: ==&lt;/div&gt;</summary>
		<author><name>31.54.72.74</name></author>
	</entry>
	<entry>
		<id>https://wiki.rplace.live/index.php?title=Development&amp;diff=215</id>
		<title>Development</title>
		<link rel="alternate" type="text/html" href="https://wiki.rplace.live/index.php?title=Development&amp;diff=215"/>
		<updated>2023-07-15T00:58:15Z</updated>

		<summary type="html">&lt;p&gt;31.54.72.74: /* Pixel packet: */Fix code sample and confusing writing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;rplace.tk has had a rocky development history. With such a high demand for different things, features have remained broken, scrapped or non-existent for long periods of time. Despite these issues, with the 10+ contributors to the main project, lead mostly by zekiahepic, and initially BlobKat. The site has found a relatively stable update cycle, with new features, fixes and bug improvements appearing each fortnight.&lt;br /&gt;
&lt;br /&gt;
= The game protocol =&lt;br /&gt;
The site was initially coded within a day, and main development, jump started by BlobKat over three. This has had many long lasting impacts on the site, resulting in some development decisions that made sense for that short term period, but have proved very complicated and confusing in the long term. One of the biggest impacts was the choice to use &amp;quot;git and changes system&amp;quot;, for syncing the canvas between the client and server, while also ensuring minimal bandwidth on the hoster&#039;s behalf. Further complicated by the introduction of the new server software, RplaceServer, which chose to use a completely new system, wherein the site is solely dependent on the monolithic server software, which handles both the socket live pixels, and hosting the canvas files directly for client consumption in a compressed form.&lt;br /&gt;
&lt;br /&gt;
== Packets ==&lt;br /&gt;
The site uses websocket for live client server communication. All packets are composed of an initial &#039;&#039;&#039;code&#039;&#039;&#039; byte, representing the type of the packet to be identified on the server, with all numberic packet data being formatted as big endian. &lt;br /&gt;
&lt;br /&gt;
=== Pixel packet: ===&lt;br /&gt;
The pixel packet is one of the simplest. It is a six byte packet, the first byte being the packet &#039;&#039;&#039;code,&#039;&#039;&#039; the second to 5th &lt;br /&gt;
bytes being &#039;&#039;&#039;position (board index)&#039;&#039;&#039; of the pixel, represented by a 4 byte unsigned 32 bit integer, and finally a byte representing the index of the &#039;&#039;&#039;colour&#039;&#039;&#039; in the palette that the pixel represents.&lt;br /&gt;
&lt;br /&gt;
One can retrieve the X and Y position from an given pixel index with some basic math. To get the X position, we do &#039;&#039;&#039;index % canvas_width&#039;&#039;&#039;, and to get the Y position &#039;&#039;&#039;floor(index / canvas_width)&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>31.54.72.74</name></author>
	</entry>
</feed>