Seperti namanya, Hollow Knight Multiplayer (HKMP) adalah mod multipemain untuk game aksi-petualangan 2D populer Hollow Knight. Tujuan utama mod ini adalah untuk memungkinkan orang menyelenggarakan game dan membiarkan orang lain bergabung dalam petualangan mereka. Ada server Discord khusus untuk mod tempat Anda dapat mengajukan pertanyaan atau membicarakan mod secara umum. Selain itu, Anda dapat meninggalkan saran atau laporan bug. Pengumuman terbaru akan diposting di sana.
Ada panduan buatan komunitas untuk memulai mod dengan mudah. Jika Anda tidak berpengalaman dengan modding Github dan/atau Hollow Knight, ini adalah cara yang disarankan untuk mulai menggunakan mod tersebut. Alternatifnya, bagian di bawah ini mengilustrasikan cara mendapatkan mod dari penginstal atau menginstalnya secara manual.
Mod versi terbaru dapat ditemukan di Lumafly, penginstal modding untuk Hollow Knight 1.5. Menggunakan tautan ini akan secara otomatis mengunduh versi penginstal Lumafly yang benar untuk OS Anda. Pemasang ini kemudian akan secara otomatis mengunduh API modding dan Anda dapat menginstal mod melalui antarmuka yang mudah digunakan.
Mod ini bekerja melalui Hollow Knight Modding API. Setelah menginstal API, mod ini dapat diinstal dengan memasukkan DLL yang telah dikompilasi ke folder mods Anda, yang dapat ditemukan di instalasi Steam Anda: (Berhati-hatilah karena ini adalah lokasi default. Instalasi Anda mungkin berada di drive yang berbeda, dalam hal ini ubah jalurmu sesuai itu.)
C:Program Files (x86)SteamsteamappscommonHollow Knighthollow_knight_DataManagedMods
~/Library/Application Support/Steam/steamapps/common/Hollow Knight/hollow_knight.app/
, lalu klik "buka isi paket" dan content -> resources -> data -> managed -> mods
~/.local/share/Steam/steamapps/common/Hollow Knight/hollow_knight_Data/Managed/Mods/
Versi terbaru dari DLL yang dikompilasi dapat ditemukan di halaman rilis.
Antarmuka utama mod dapat ditemukan di menu jeda dalam game. Ada opsi untuk meng-host game di port yang dimasukkan dan opsi untuk bergabung dengan game di alamat yang dimasukkan dan port yang dimasukkan. Bermain multipemain dengan orang-orang di LAN Anda sangatlah mudah, tetapi bermain melalui internet memerlukan kerja ekstra. Yaitu, port game yang dihosting harus diteruskan ke router Anda agar mengarah ke perangkat yang Anda hosting. Alternatifnya, Anda dapat menggunakan perangkat lunak untuk memfasilitasi perluasan LAN Anda, seperti Hamachi.
Antarmuka juga dapat disembunyikan dengan menekan tombol pengikat ( right ALT
secara default). Pengikatan kunci ini dapat diubah dalam konfigurasi mod, yang dapat ditemukan di lokasi berikut tergantung pada OS:
%appdata%..LocalLowTeam CherryHollow KnightHKMP.GlobalSettings.json
~/Library/Application Support/unity.Team Cherry.Hollow Knight/HKMP.GlobalSettings.json
~/.config/unity3d/Team Cherry/Hollow Knight/HKMP.GlobalSettings.json
Pengikatan kunci disimpan dalam bentuk kode kunci, silakan lihat daftar ini untuk semua kemungkinan opsi kode kunci.
Selain UI menu jeda, terdapat jendela obrolan yang memungkinkan pengguna memasukkan perintah. Masukan obrolan dapat dibuka dengan pengikatan kunci ( T
secara default), yang menampilkan perintah berikut:
connect
: Hubungkan ke server di alamat dan port yang diberikan dengan nama pengguna yang diberikan.host [port]
: Memulai server pada port tertentu atau menghentikan server yang ada.list
: Daftar nama pemain yang sedang terhubung.set [value]
: Membaca atau menulis pengaturan dengan nama dan nilai tertentu. Untuk daftar kemungkinan pengaturan, lihat bagian di bawah.announce
: Menyiarkan pesan obrolan ke semua pemain yang terhubung.kick
: Menendang pemain dengan kunci autentikasi, nama pengguna, atau alamat IP yang diberikan.ban
: Ban pemain dengan kunci autentikasi atau nama pengguna yang diberikan. Jika diberi nama pengguna, hanya akan mengeluarkan larangan jika pengguna dengan nama pengguna yang diberikan sedang terhubung ke server.unban
: Batalkan pemblokiran pemain dengan kunci autentikasi yang diberikan.banip
: Melarang IP pemain dengan kunci autentikasi, nama pengguna, atau alamat IP yang diberikan. Jika diberikan kunci auth atau nama pengguna, hanya akan mengeluarkan larangan jika pengguna dengan kunci auth atau nama pengguna yang diberikan sedang terhubung ke server.unbanip
: Batalkan pemblokiran IP pemutar dengan alamat IP yang diberikan.Setiap pengguna secara lokal akan membuat kunci autentikasi untuk autentikasi dan otorisasi. Kunci ini dapat digunakan untuk memasukkan ke dalam daftar putih dan memberi otorisasi kepada pengguna tertentu untuk mengizinkan mereka bergabung dengan server atau menjalankan perintah yang memerlukan izin lebih tinggi.
whitelist [args]
: Kelola daftar putih dengan opsi berikut:whitelist
: Mengaktifkan/menonaktifkan daftar putih.whitelist [name|auth key]
: Tambahkan/hapus nama pengguna atau kunci autentikasi tertentu ke/dari daftar putih. Jika diberikan nama pengguna yang tidak sesuai dengan pemain online, nama pengguna tersebut akan ditambahkan ke 'daftar awal'. Kemudian jika pemain baru dengan nama pengguna di daftar ini akan login, mereka secara otomatis masuk daftar putih.whitelist [prelist]
: Hapus daftar putih (atau pra-daftar jika prelist
diberikan sebagai argumen).auth [name|auth key]
: Otorisasi pemain online dengan nama pengguna atau kunci autentikasi yang diberikan.deauth [name|auth key]
: Batalkan otorisasi pemutar online dengan nama pengguna atau kunci autentikasi yang diberikan. Dimungkinkan untuk menjalankan server mandiri di Windows, Linux dan Mac. Eksekusi terbaru dari server dapat ditemukan di halaman rilis. Untuk Linux dan Mac, server dapat dijalankan dengan Mono terinstal. Setelah menginstal Mono, executable yang sama dapat dijalankan menggunakan mono HKMPServer.exe
. Saat ini, satu-satunya argumen baris perintah adalah port tempat server harus dihosting.
Alternatifnya, image Docker tersedia di DockerHub (milik maximalmax90).
Server akan membaca/membuat file pengaturan bernama serversettings.json
, yang dapat diubah untuk mengubah pengaturan startup default server. Alternatifnya, pengaturan dapat diubah dengan menjalankan perintah pengaturan pada baris perintah. Selain perintah yang dijelaskan di atas, server mandiri juga memiliki perintah berikut:
exit
: Akan keluar dari server dengan baik dan memutuskan sambungan penggunanya.Ada banyak pengaturan yang dapat dikonfigurasi yang dapat mengubah cara kerja mod. Pengaturan klien tersedia di menu jeda UI mod, sedangkan pengaturan server dapat diubah dengan perintah pengaturan.
Pengaturan klien berisi entri berikut:
Bagian ini berisi pengaturan untuk server. Nilai-nilai ini dapat dibaca dan dimodifikasi dengan perintah set
yang dijelaskan di atas. Semua nama untuk pengaturan tidak peka huruf besar-kecil, tetapi ditulis untuk kejelasan.
IsPvpEnabled
: apakah kerusakan pemain vs. pemain diaktifkan.pvp
IsBodyDamageEnabled
: apakah kerusakan kontak diaktifkan, yaitu ketika model pemutar bersentuhan, keduanya akan rusak. Ini hanya berpengaruh jika PvP juga diaktifkan.bodydamage
AlwaysShowMapIcons
: apakah lokasi peta pemain selalu dibagikan di peta dalam game.globalmapicons
OnlyBroadcastMapIconWithWaywardCompass
: apakah lokasi peta pemain hanya dibagikan ketika mereka dilengkapi pesona Wayward Compass. Perhatikan bahwa jika lokasi peta selalu dibagikan, pengaturan ini tidak akan berpengaruh.compassicon
, compassicons
, waywardicon
, waywardicons
DisplayNames
: Apakah nama overhead harus ditampilkan.names
TeamsEnabled
: Apakah tim pemain diaktifkan. Pemain dalam tim yang sama tidak dapat saling merusak. Tim dapat dipilih dari menu pengaturan klien.teams
AllowSkins
: Apakah skin pemain diperbolehkan. Jika dinonaktifkan, pemain tidak akan dapat menggunakan skin secara lokal, juga tidak dapat dikirimkan ke pemain lain.skins
AllowParries
: Apakah sayatan Kuku dan Seni Kuku dapat ditangkis. Hanya berlaku jika IsPvpEnabled
benar.parries
Pengaturan lainnya berisi entri nilai kerusakan dari sebagian besar mantra dan kemampuan yang mendukung PvP. Menyetelnya ke nilai 0
akan menonaktifkan kerusakan sepenuhnya. Berikut adalah daftar nama pengaturannya beserta aliasnya di dalam tanda kurung:
NailDamage
( naildmg
)GrubberflyElegyDamage
( elegydmg
)VengefulSpiritDamage
( vsdmg
, fireballdamage
, fireballdmg
)ShadeSoulDamage
( shadesouldmg
)DesolateDiveDamage
( desolatedivedmg
, ddivedmg
)DescendingDarkDamage
( descendingdarkdmg
, ddarkdmg
)HowlingWraithDamage
( howlingwraithsdamage
, howlingwraithsdmg
, wraithsdmg
)AbyssShriekDamage
( abyssshriekdmg
, shriekdmg
)GreatSlashDamage
( greatslashdmg
)DashSlashDamage
( dashslashdmg
)CycloneSlashDamage
( cycloneslashdmg
, cyclonedmg
)SporeShroomDamage
( sporeshroomdmg
)SporeDungShroomDamage
( sporedungshroomdmg
, dungshroomdmg
)ThornOfAgonyDamage
( thornsofagonydamage
, thornsofagonydmg
, thornsdamage
, thornsdmg
)SharpShadowDamage
( sharpshadowdmg
) Skin dapat diinstal dengan memasukkan folder ke dalam direktori skins (
). Jika struktur direktori ini belum ada, struktur ini harus dibuat setelah Anda meluncurkan game setidaknya sekali dengan HKMP terinstal. Folder ini dapat diberi nama apa saja, tetapi file tersebut harus berupa lembar tekstur yang biasanya juga digunakan oleh Hollow Knight. Setelah menjalankan game dengan skin terinstal, masing-masing direktori skin ini harus memiliki file id.txt
terkait yang dihasilkan. File ID ini berisi satu bilangan bulat yang mewakili ID skin tersebut. ID ini kemudian dapat digunakan dalam game untuk memilih skin dari menu pengaturan klien. Biasanya, ID ini dimulai dari 1
dan secara bertahap bertambah seiring semakin banyak skin yang Anda gunakan, namun file ID dapat diedit secara manual untuk menggunakan ID lain.
Ada beberapa cara Anda dapat berkontribusi pada proyek ini, yang semuanya diuraikan di bawah ini. Harap baca juga dan patuhi panduan berkontribusi.
Jika Anda mempunyai saran atau laporan bug, silakan tinggalkan di halaman masalah. Pastikan untuk memberi label masalah dengan benar dan berikan penjelasan yang tepat. Saran atau permintaan fitur dapat diberi label dengan "Peningkatan", laporan bug dengan "Bug", dll.
Mod HKMP juga bisa dibuat dari awal. Ini memerlukan beberapa ketergantungan dari game Hollow Knight dan API modding. Yaitu, rakitan berikut diperlukan dari API modding :
Assembly-CSharp.dll (modified by the modding API)
MMHOOK_Assembly-CSharp.dll
MMHOOK_PlayMaker.dll
MonoMod.Utils.dll
Dan berikut build yang dibutuhkan dari game Hollow Knight/Unity :
PlayMaker.dll
UnityEngine.AudioModule.dll
UnityEngine.CoreModule.dll
UnityEngine.dll
UnityEngine.ImageConversionModule.dll
UnityEngine.InputLegacyModule
UnityEngine.ParticleSystemModule.dll
UnityEngine.Physics2DModule.dll
UnityEngine.TextRenderingModule.dll
UnityEngine.UI.dll
UnityEngine.UIModule.dll
Semua file di atas dapat ditemukan di direktori berikut berdasarkan sistem operasi Anda (dan mungkin berbeda-beda tergantung instalasi):
C:Program Files (x86)SteamsteamappscommonHollow Knighthollow_knight_DataManaged
.~/Library/Application Support/Steam/steamapps/common/Hollow Knight/hollow_knight.app/
, lalu klik "buka isi paket" dan content -> resources -> data -> managed
~/.local/share/Steam/steamapps/common/Hollow Knight/hollow_knight_Data/Managed
Dengan rakitan ini yang berguna (baik di direktori Hollow Knight aslinya atau dipindahkan ke tempat lain), Anda harus menyalin dan mengganti nama file HKMP/LocalBuildProperties_example.props
menjadi HKMP/LocalBuildProperties.props
dan mengisi jalur di dalamnya ke jalur yang Anda gunakan secara lokal. Setelah ini, kode sumber dapat dikompilasi menjadi DLL, dan Anda siap melakukannya!
Server mandiri juga dapat dibangun dari awal. Secara teknis ada dua ketergantungan untuk server:
HKMP.dll
)Newtonsoft.Json.dll
) DLL mod HKMP ditautkan dari direktori Rilis proyek mod dan tidak harus disalin secara manual. Namun, pustaka Newtonsoft JSON dapat ditemukan di instalasi Hollow Knight Anda yang telah dimodifikasi seperti yang ditunjukkan di atas. DLL ini harus ditempatkan di direktori HKMPServer/Lib/
dan akan tertanam bersama dengan DLL HKMP selama proses pembangunan.
Pastikan terlebih dahulu build mod HKMP sebelum build server untuk memastikan versi terbaru yang tersemat.
Jika Anda menyukai proyek ini dan tertarik dengan perkembangannya, pertimbangkan untuk menjadi pendukung Patreon. Anda akan mendapatkan akses ke postingan pengembangan, cuplikan, dan akses awal ke fitur-fitur baru. Selain itu, Anda akan menerima peran di server Discord dengan akses ke saluran eksklusif.
HKMP merupakan game modifikasi Hollow Knight yang menambahkan multiplayer.
Hak Cipta (C) 2023 Sangatd1
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
USA