このプロジェクトについて

これは『エルデンリング』(通称:老頭環)のプレイヤー向けオンラインマッププロジェクトで、最大の特徴は多人協力編集に対応していることです。プレイヤーはマップ上で地標情報を共同でマークしたり、修正したりできます。READMEに記載されているオンラインアドレスは https://www.elpwc.com/eldenringmap/ です。 技術スタックについて、フロントエンドはSvelteフレームワークとLeafletマップライブラリを使用し、TypeScriptで記述されています。バックエンドはPHP+MySQLで、Apache+nginxのWindows Server環境で動作します。作者は、当初は個人用の小規模サイトであり、Svelteを試してみたかったことと手軽さから、バックエンドAPIを純粋なPHPで書くことを選んだと説明しています。現在のバージョンの地標はすべてDOMレンダリングを使用しています。 開発とデプロイの流れ: - フロントエンド:Node.js 16.13.0、npm 8.1.2 または pnpm 7.0.0-beta.2 が必要です。リポジトリをクローン後、npm i(または pnpm install / yarn)で依存関係をインストールし、npm run dev でデバッグ、npm run build でビルドします。成果物は /public フォルダにあり、静的リソースとしてデプロイできます。 - バックエンド:PHPとMySQLに依存します。まずリポジトリ内の /database.sql を実行してデータベースを初期化します。データベース設定は /public/api/private/ ディレクトリにあり、admin.example.php(管理者パスワード)、dbcfg.example.php(データベース設定)、illegal_words_list.example.php(NGワードリスト)が含まれています。ファイル名から .example を削除すると有効になります。管理者モードではフロントエンドで直接データの追加・削除・変更が可能で、入り方は src/pages/About.svelte を参照してください。入ると説明ページに(Admin)と表示されます。最後に /public の内容をApacheサーバーにデプロイすれば完了です。 プロジェクトはMITライセンスを採用しており、ライセンスを保持する限り、コードの自由な使用、修正、公開が可能です。READMEによると、マップの1日あたりのアクセス数は20〜30万を維持しており、作者はメール、QQ、またはissueでの開発参加を歓迎しています。また、貢献者としてspking11とRangerの2名が挙げられています。リポジトリにはスクリーンショットとファイル説明(/src/description.txt)も含まれています。